////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2017-2018 Qualcomm Technologies, Inc.
// All Rights Reserved.
// Confidential and Proprietary - Qualcomm Technologies, Inc.
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/// THIS IS AUTO-GENERATED CODE.  PLEASE DO NOT EDIT (File bug reports against tools).
///
/// Auto-generated by: ParameterParser V1.1.4
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/// @file  anr_1_0_0.cpp
/// @brief Auto-generated Chromatix parameter file
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

#include "anr_1_0_0.h"
#include "parametersetmanager.h"

ANR_1_0_0_NAMESPACE_BEGIN

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/// Default Constructor
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
chromatix_anr10TypeClass::chromatix_anr10TypeClass(
    const CHAR* name)
    : ParameterModule(name, MAJOR, MINOR, PATCH, 0, 0, 0, 0)
{
    PARAMETER_INITIALIZE(SymbolTableID);
    PARAMETER_INITIALIZE(enable_section);
    PARAMETER_INITIALIZE(module_version);
    PARAMETER_INITIALIZE(control_variables);
    PARAMETER_INITIALIZE(control_method);
    PARAMETER_INITIALIZE(chromatix_anr10_reserve);
    PARAMETER_INITIALIZE(chromatix_anr10_core);
}

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/// Constructor
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
chromatix_anr10TypeClass::chromatix_anr10TypeClass(
    const CHAR* name,
    UINT32 modeId,
    UINT16 mode,
    UINT16 subMode,
    UINT32 group)
    : ParameterModule(name, MAJOR, MINOR, PATCH, modeId, mode, subMode, group)
{
    PARAMETER_INITIALIZE(SymbolTableID);
    PARAMETER_INITIALIZE(enable_section);
    PARAMETER_INITIALIZE(module_version);
    PARAMETER_INITIALIZE(control_variables);
    PARAMETER_INITIALIZE(control_method);
    PARAMETER_INITIALIZE(chromatix_anr10_reserve);
    PARAMETER_INITIALIZE(chromatix_anr10_core);
}

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/// Destructor
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
chromatix_anr10TypeClass::~chromatix_anr10TypeClass()
{
    Unloadchromatix_anr10Type(this);
}

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/// GetName
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
const CHAR* chromatix_anr10TypeClass::GetName(
    const CHAR* type)
{
    const CHAR* name = type;
    CHAR temp[ParameterFileSymbolTableEntry::TYPE_LEN + 1];
    if (PARAMETER_STRCMP(type, ParameterFileSymbolTableEntry::GetType(temp, "anr10_ipe")) == 0)
    {
        name = "anr10_ipe";
    }
    return name;
}

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/// Load mod_anr10_pass_reserve_dataType
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
BOOL chromatix_anr10TypeClass::Loadmod_anr10_pass_reserve_dataType(
    ParameterFileSymbolTableEntry* entry,
    mod_anr10_pass_reserve_dataType* structure)
{
    BOOL result = TRUE;
    structure->pass_trigger = (ispglobalelements::trigger_pass)entry->ReadEnum(&result);
    result = result && Loadmod_anr10_pass_reserve_dataType_pass_dataStruct(entry, &structure->pass_data);

    return result;
}

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/// Load mod_anr10_pass_reserve_dataType_pass_dataStruct
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
BOOL chromatix_anr10TypeClass::Loadmod_anr10_pass_reserve_dataType_pass_dataStruct(
    ParameterFileSymbolTableEntry* entry,
    mod_anr10_pass_reserve_dataType::pass_dataStruct* structure)
{
    BOOL result = TRUE;
    result = result && Loadmod_anr10_pass_reserve_dataType_mod_anr10_pass_reserve_dataType_pass_dataStruct_topStruct(entry, &structure->top);
    result = result && Loadmod_anr10_pass_reserve_dataType_mod_anr10_pass_reserve_dataType_pass_dataStruct_power_controlStruct(entry, &structure->power_control);
    result = result && Loadmod_anr10_pass_reserve_dataType_mod_anr10_pass_reserve_dataType_pass_dataStruct_luma_filter_configStruct(entry, &structure->luma_filter_config);
    result = result && Loadmod_anr10_pass_reserve_dataType_mod_anr10_pass_reserve_dataType_pass_dataStruct_chroma_filter_configStruct(entry, &structure->chroma_filter_config);
    result = result && Loadmod_anr10_pass_reserve_dataType_mod_anr10_pass_reserve_dataType_pass_dataStruct_luma_filter_kernelStruct(entry, &structure->luma_filter_kernel);
    result = result && Loadmod_anr10_pass_reserve_dataType_mod_anr10_pass_reserve_dataType_pass_dataStruct_luma_peak_managementStruct(entry, &structure->luma_peak_management);
    result = result && Loadmod_anr10_pass_reserve_dataType_mod_anr10_pass_reserve_dataType_pass_dataStruct_chroma_peak_managementStruct(entry, &structure->chroma_peak_management);
    result = result && Loadmod_anr10_pass_reserve_dataType_mod_anr10_pass_reserve_dataType_pass_dataStruct_inter_length_output_indicationStruct(entry, &structure->inter_length_output_indication);
    result = result && Loadmod_anr10_pass_reserve_dataType_mod_anr10_pass_reserve_dataType_pass_dataStruct_grey_treatmentStruct(entry, &structure->grey_treatment);
    result = result && Loadmod_anr10_pass_reserve_dataType_mod_anr10_pass_reserve_dataType_pass_dataStruct_chroma_filter_extensionStruct(entry, &structure->chroma_filter_extension);
    result = result && Loadmod_anr10_pass_reserve_dataType_mod_anr10_pass_reserve_dataType_pass_dataStruct_luma_smoothing_treatmentStruct(entry, &structure->luma_smoothing_treatment);
    result = result && Loadmod_anr10_pass_reserve_dataType_mod_anr10_pass_reserve_dataType_pass_dataStruct_chroma_smoothing_treatmentStruct(entry, &structure->chroma_smoothing_treatment);
    result = result && Loadmod_anr10_pass_reserve_dataType_mod_anr10_pass_reserve_dataType_pass_dataStruct_lnrStruct(entry, &structure->lnr);
    result = result && Loadmod_anr10_pass_reserve_dataType_mod_anr10_pass_reserve_dataType_pass_dataStruct_cnrStruct(entry, &structure->cnr);
    result = result && Loadmod_anr10_pass_reserve_dataType_mod_anr10_pass_reserve_dataType_pass_dataStruct_luma_filter_detection_thresholdsStruct(entry, &structure->luma_filter_detection_thresholds);
    result = result && Loadmod_anr10_pass_reserve_dataType_mod_anr10_pass_reserve_dataType_pass_dataStruct_chroma_filter_detection_thresholdsStruct(entry, &structure->chroma_filter_detection_thresholds);
    result = result && Loadmod_anr10_pass_reserve_dataType_mod_anr10_pass_reserve_dataType_pass_dataStruct_dcblend1Struct(entry, &structure->dcblend1);
    result = result && Loadmod_anr10_pass_reserve_dataType_mod_anr10_pass_reserve_dataType_pass_dataStruct_dcblend2Struct(entry, &structure->dcblend2);
    result = result && Loadmod_anr10_pass_reserve_dataType_mod_anr10_pass_reserve_dataType_pass_dataStruct_ditheringStruct(entry, &structure->dithering);

    return result;
}

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/// Load mod_anr10_pass_reserve_dataType_mod_anr10_pass_reserve_dataType_pass_dataStruct_topStruct
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
BOOL chromatix_anr10TypeClass::Loadmod_anr10_pass_reserve_dataType_mod_anr10_pass_reserve_dataType_pass_dataStruct_topStruct(
    ParameterFileSymbolTableEntry* entry,
    mod_anr10_pass_reserve_dataType::pass_dataStruct::topStruct* structure)
{
    BOOL result = TRUE;
    result = result && entry->ReadUInt32(&structure->enable_luma_noise_reduction_pass);
    result = result && entry->ReadUInt32(&structure->enable_chroma_noise_reduction_pass);

    return result;
}

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/// Load mod_anr10_pass_reserve_dataType_mod_anr10_pass_reserve_dataType_pass_dataStruct_power_controlStruct
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
BOOL chromatix_anr10TypeClass::Loadmod_anr10_pass_reserve_dataType_mod_anr10_pass_reserve_dataType_pass_dataStruct_power_controlStruct(
    ParameterFileSymbolTableEntry* entry,
    mod_anr10_pass_reserve_dataType::pass_dataStruct::power_controlStruct* structure)
{
    BOOL result = TRUE;
    result = result && entry->ReadUInt32(&structure->enable_chroma_filter_extension);
    result = result && entry->ReadUInt32(&structure->enable_luma_smoothing_treatment_and_peak_treatment);
    result = result && entry->ReadUInt32(&structure->enable_chroma_smoothing_treatment_and_peak_treatment);
    result = result && entry->ReadUInt32(&structure->enable_luma_chroma_filter_all_thresholds_per_uv);
    result = result && entry->ReadUInt32(&structure->enable_luma_chroma_filter_uv_thresholds_per_yuv);
    result = result && entry->ReadUInt32(&structure->enable_luma_filter_uv_thresholds);

    return result;
}

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/// Load mod_anr10_pass_reserve_dataType_mod_anr10_pass_reserve_dataType_pass_dataStruct_luma_filter_configStruct
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
BOOL chromatix_anr10TypeClass::Loadmod_anr10_pass_reserve_dataType_mod_anr10_pass_reserve_dataType_pass_dataStruct_luma_filter_configStruct(
    ParameterFileSymbolTableEntry* entry,
    mod_anr10_pass_reserve_dataType::pass_dataStruct::luma_filter_configStruct* structure)
{
    BOOL result = TRUE;
    result = result && entry->ReadUInt32(&structure->filter_decision_mode);
    result = result && entry->ReadUInt32(&structure->filter_enable_external_derivatives);
    result = result && entry->ReadUInt32(&structure->dcind_decision_mode);
    result = result && entry->ReadUInt32(&structure->dcind_enable_external_derivatives);
    result = result && entry->ReadUInt32(&structure->enable_use_second_derivative_for_luma_3x3);

    return result;
}

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/// Load mod_anr10_pass_reserve_dataType_mod_anr10_pass_reserve_dataType_pass_dataStruct_chroma_filter_configStruct
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
BOOL chromatix_anr10TypeClass::Loadmod_anr10_pass_reserve_dataType_mod_anr10_pass_reserve_dataType_pass_dataStruct_chroma_filter_configStruct(
    ParameterFileSymbolTableEntry* entry,
    mod_anr10_pass_reserve_dataType::pass_dataStruct::chroma_filter_configStruct* structure)
{
    BOOL result = TRUE;
    result = result && entry->ReadUInt32(&structure->filter_decision_mode);
    result = result && entry->ReadUInt32(&structure->dcind_decision_mode);

    return result;
}

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/// Load mod_anr10_pass_reserve_dataType_mod_anr10_pass_reserve_dataType_pass_dataStruct_luma_filter_kernelStruct
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
BOOL chromatix_anr10TypeClass::Loadmod_anr10_pass_reserve_dataType_mod_anr10_pass_reserve_dataType_pass_dataStruct_luma_filter_kernelStruct(
    ParameterFileSymbolTableEntry* entry,
    mod_anr10_pass_reserve_dataType::pass_dataStruct::luma_filter_kernelStruct* structure)
{
    BOOL result = TRUE;
    result = result && entry->ReadUInt32(&structure->kernel_definition_mode);
    result = result && entry->ReadUInt32(&structure->manual_edge_kernel_complement_mode);
    result = result && entry->ReadUInt32(&structure->manual_flat_kernel_complement_mode);

    return result;
}

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/// Load mod_anr10_pass_reserve_dataType_mod_anr10_pass_reserve_dataType_pass_dataStruct_luma_peak_managementStruct
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
BOOL chromatix_anr10TypeClass::Loadmod_anr10_pass_reserve_dataType_mod_anr10_pass_reserve_dataType_pass_dataStruct_luma_peak_managementStruct(
    ParameterFileSymbolTableEntry* entry,
    mod_anr10_pass_reserve_dataType::pass_dataStruct::luma_peak_managementStruct* structure)
{
    BOOL result = TRUE;
    result = result && entry->ReadUInt32(&structure->enable_luma_peak_management);

    return result;
}

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/// Load mod_anr10_pass_reserve_dataType_mod_anr10_pass_reserve_dataType_pass_dataStruct_chroma_peak_managementStruct
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
BOOL chromatix_anr10TypeClass::Loadmod_anr10_pass_reserve_dataType_mod_anr10_pass_reserve_dataType_pass_dataStruct_chroma_peak_managementStruct(
    ParameterFileSymbolTableEntry* entry,
    mod_anr10_pass_reserve_dataType::pass_dataStruct::chroma_peak_managementStruct* structure)
{
    BOOL result = TRUE;
    result = result && entry->ReadUInt32(&structure->enable_chroma_peak_management);

    return result;
}

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/// Load mod_anr10_pass_reserve_dataType_mod_anr10_pass_reserve_dataType_pass_dataStruct_inter_length_output_indicationStruct
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
BOOL chromatix_anr10TypeClass::Loadmod_anr10_pass_reserve_dataType_mod_anr10_pass_reserve_dataType_pass_dataStruct_inter_length_output_indicationStruct(
    ParameterFileSymbolTableEntry* entry,
    mod_anr10_pass_reserve_dataType::pass_dataStruct::inter_length_output_indicationStruct* structure)
{
    BOOL result = TRUE;
    result = result && entry->ReadUInt32(&structure->luma_neighbours_impact_enable);
    result = result && entry->ReadUInt32(&structure->chroma_neighbours_impact_enable);

    return result;
}

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/// Load mod_anr10_pass_reserve_dataType_mod_anr10_pass_reserve_dataType_pass_dataStruct_grey_treatmentStruct
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
BOOL chromatix_anr10TypeClass::Loadmod_anr10_pass_reserve_dataType_mod_anr10_pass_reserve_dataType_pass_dataStruct_grey_treatmentStruct(
    ParameterFileSymbolTableEntry* entry,
    mod_anr10_pass_reserve_dataType::pass_dataStruct::grey_treatmentStruct* structure)
{
    BOOL result = TRUE;
    result = result && entry->ReadUInt32(&structure->enable_grey_treatment_thr_modification);
    result = result && entry->ReadUInt32(&structure->enable_grey_treatment_isotropic_filter_blend);

    return result;
}

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/// Load mod_anr10_pass_reserve_dataType_mod_anr10_pass_reserve_dataType_pass_dataStruct_chroma_filter_extensionStruct
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
BOOL chromatix_anr10TypeClass::Loadmod_anr10_pass_reserve_dataType_mod_anr10_pass_reserve_dataType_pass_dataStruct_chroma_filter_extensionStruct(
    ParameterFileSymbolTableEntry* entry,
    mod_anr10_pass_reserve_dataType::pass_dataStruct::chroma_filter_extensionStruct* structure)
{
    BOOL result = TRUE;
    result = result && entry->ReadUInt32(&structure->enable_chroma_filter_extension_median);
    result = result && entry->ReadUInt32(&structure->enable_chroma_filter_extension_bilateral);

    return result;
}

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/// Load mod_anr10_pass_reserve_dataType_mod_anr10_pass_reserve_dataType_pass_dataStruct_luma_smoothing_treatmentStruct
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
BOOL chromatix_anr10TypeClass::Loadmod_anr10_pass_reserve_dataType_mod_anr10_pass_reserve_dataType_pass_dataStruct_luma_smoothing_treatmentStruct(
    ParameterFileSymbolTableEntry* entry,
    mod_anr10_pass_reserve_dataType::pass_dataStruct::luma_smoothing_treatmentStruct* structure)
{
    BOOL result = TRUE;
    result = result && entry->ReadUInt32(&structure->enable_luma_edge_smoothing);
    result = result && entry->ReadUInt32(&structure->enable_luma_transition_smoothing);

    return result;
}

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/// Load mod_anr10_pass_reserve_dataType_mod_anr10_pass_reserve_dataType_pass_dataStruct_chroma_smoothing_treatmentStruct
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
BOOL chromatix_anr10TypeClass::Loadmod_anr10_pass_reserve_dataType_mod_anr10_pass_reserve_dataType_pass_dataStruct_chroma_smoothing_treatmentStruct(
    ParameterFileSymbolTableEntry* entry,
    mod_anr10_pass_reserve_dataType::pass_dataStruct::chroma_smoothing_treatmentStruct* structure)
{
    BOOL result = TRUE;
    result = result && entry->ReadUInt32(&structure->enable_chroma_edge_smoothing);
    result = result && entry->ReadUInt32(&structure->enable_chroma_transition_smoothing);

    return result;
}

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/// Load mod_anr10_pass_reserve_dataType_mod_anr10_pass_reserve_dataType_pass_dataStruct_lnrStruct
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
BOOL chromatix_anr10TypeClass::Loadmod_anr10_pass_reserve_dataType_mod_anr10_pass_reserve_dataType_pass_dataStruct_lnrStruct(
    ParameterFileSymbolTableEntry* entry,
    mod_anr10_pass_reserve_dataType::pass_dataStruct::lnrStruct* structure)
{
    BOOL result = TRUE;
    result = result && entry->ReadUInt32(&structure->enable_lnr);
    result = result && entry->ReadUInt32(&structure->use_luts_from_full_pass_configuration);

    return result;
}

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/// Load mod_anr10_pass_reserve_dataType_mod_anr10_pass_reserve_dataType_pass_dataStruct_cnrStruct
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
BOOL chromatix_anr10TypeClass::Loadmod_anr10_pass_reserve_dataType_mod_anr10_pass_reserve_dataType_pass_dataStruct_cnrStruct(
    ParameterFileSymbolTableEntry* entry,
    mod_anr10_pass_reserve_dataType::pass_dataStruct::cnrStruct* structure)
{
    BOOL result = TRUE;
    result = result && entry->ReadUInt32(&structure->enable_cnr);
    result = result && entry->ReadUInt32(&structure->input_select);
    result = result && entry->ReadUInt32(&structure->number_of_colors);
    result = result && Loadmod_anr10_pass_reserve_dataType_mod_anr10_pass_reserve_dataType_pass_dataStruct_mod_anr10_pass_reserve_dataType_mod_anr10_pass_reserve_dataType_pass_dataStruct_cnrStruct_detect_chromaticity_calc_mode_tabStruct(entry, &structure->detect_chromaticity_calc_mode_tab);
    result = result && entry->ReadUInt32(&structure->detect_color0_saturation_mode);
    result = result && entry->ReadUInt32(&structure->detect_color0_external_enable);
    result = result && Loadmod_anr10_pass_reserve_dataType_mod_anr10_pass_reserve_dataType_pass_dataStruct_mod_anr10_pass_reserve_dataType_mod_anr10_pass_reserve_dataType_pass_dataStruct_cnrStruct_face_detection_dependency_tabStruct(entry, &structure->face_detection_dependency_tab);
    result = result && entry->ReadUInt32(&structure->face_detection_boundary);
    result = result && entry->ReadUInt32(&structure->face_detection_transition);

    return result;
}

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/// Load mod_anr10_pass_reserve_dataType_mod_anr10_pass_reserve_dataType_pass_dataStruct_mod_anr10_pass_reserve_dataType_mod_anr10_pass_reserve_dataType_pass_dataStruct_cnrStruct_detect_chromaticity_calc_mode_tabStruct
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
BOOL chromatix_anr10TypeClass::Loadmod_anr10_pass_reserve_dataType_mod_anr10_pass_reserve_dataType_pass_dataStruct_mod_anr10_pass_reserve_dataType_mod_anr10_pass_reserve_dataType_pass_dataStruct_cnrStruct_detect_chromaticity_calc_mode_tabStruct(
    ParameterFileSymbolTableEntry* entry,
    mod_anr10_pass_reserve_dataType::pass_dataStruct::cnrStruct::detect_chromaticity_calc_mode_tabStruct* structure)
{
    BOOL result = TRUE;
    for (UINT32 i = 0; result && i < 5; i++)
    {
        result = result && entry->ReadUInt32(&structure->detect_chromaticity_calc_mode[i]);
    }

    return result;
}

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/// Load mod_anr10_pass_reserve_dataType_mod_anr10_pass_reserve_dataType_pass_dataStruct_mod_anr10_pass_reserve_dataType_mod_anr10_pass_reserve_dataType_pass_dataStruct_cnrStruct_face_detection_dependency_tabStruct
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
BOOL chromatix_anr10TypeClass::Loadmod_anr10_pass_reserve_dataType_mod_anr10_pass_reserve_dataType_pass_dataStruct_mod_anr10_pass_reserve_dataType_mod_anr10_pass_reserve_dataType_pass_dataStruct_cnrStruct_face_detection_dependency_tabStruct(
    ParameterFileSymbolTableEntry* entry,
    mod_anr10_pass_reserve_dataType::pass_dataStruct::cnrStruct::face_detection_dependency_tabStruct* structure)
{
    BOOL result = TRUE;
    for (UINT32 i = 0; result && i < 5; i++)
    {
        result = result && entry->ReadUInt32(&structure->face_detection_dependency[i]);
    }

    return result;
}

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/// Load mod_anr10_pass_reserve_dataType_mod_anr10_pass_reserve_dataType_pass_dataStruct_luma_filter_detection_thresholdsStruct
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
BOOL chromatix_anr10TypeClass::Loadmod_anr10_pass_reserve_dataType_mod_anr10_pass_reserve_dataType_pass_dataStruct_luma_filter_detection_thresholdsStruct(
    ParameterFileSymbolTableEntry* entry,
    mod_anr10_pass_reserve_dataType::pass_dataStruct::luma_filter_detection_thresholdsStruct* structure)
{
    BOOL result = TRUE;
    result = result && entry->ReadUInt32(&structure->control_per_uv_limit);

    return result;
}

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/// Load mod_anr10_pass_reserve_dataType_mod_anr10_pass_reserve_dataType_pass_dataStruct_chroma_filter_detection_thresholdsStruct
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
BOOL chromatix_anr10TypeClass::Loadmod_anr10_pass_reserve_dataType_mod_anr10_pass_reserve_dataType_pass_dataStruct_chroma_filter_detection_thresholdsStruct(
    ParameterFileSymbolTableEntry* entry,
    mod_anr10_pass_reserve_dataType::pass_dataStruct::chroma_filter_detection_thresholdsStruct* structure)
{
    BOOL result = TRUE;
    result = result && entry->ReadUInt32(&structure->control_per_uv_limit);

    return result;
}

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/// Load mod_anr10_pass_reserve_dataType_mod_anr10_pass_reserve_dataType_pass_dataStruct_dcblend1Struct
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
BOOL chromatix_anr10TypeClass::Loadmod_anr10_pass_reserve_dataType_mod_anr10_pass_reserve_dataType_pass_dataStruct_dcblend1Struct(
    ParameterFileSymbolTableEntry* entry,
    mod_anr10_pass_reserve_dataType::pass_dataStruct::dcblend1Struct* structure)
{
    BOOL result = TRUE;
    result = result && entry->ReadUInt32(&structure->enable_dcblend1_chroma);

    return result;
}

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/// Load mod_anr10_pass_reserve_dataType_mod_anr10_pass_reserve_dataType_pass_dataStruct_dcblend2Struct
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
BOOL chromatix_anr10TypeClass::Loadmod_anr10_pass_reserve_dataType_mod_anr10_pass_reserve_dataType_pass_dataStruct_dcblend2Struct(
    ParameterFileSymbolTableEntry* entry,
    mod_anr10_pass_reserve_dataType::pass_dataStruct::dcblend2Struct* structure)
{
    BOOL result = TRUE;
    result = result && entry->ReadUInt32(&structure->enable_dcblend2_luma);
    result = result && entry->ReadUInt32(&structure->enable_dcblend2_chroma);

    return result;
}

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/// Load mod_anr10_pass_reserve_dataType_mod_anr10_pass_reserve_dataType_pass_dataStruct_ditheringStruct
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
BOOL chromatix_anr10TypeClass::Loadmod_anr10_pass_reserve_dataType_mod_anr10_pass_reserve_dataType_pass_dataStruct_ditheringStruct(
    ParameterFileSymbolTableEntry* entry,
    mod_anr10_pass_reserve_dataType::pass_dataStruct::ditheringStruct* structure)
{
    BOOL result = TRUE;
    result = result && entry->ReadUInt32(&structure->dithering_y_en);
    result = result && entry->ReadUInt32(&structure->dithering_c_en);

    return result;
}

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/// Load chromatix_anr10_reserveType
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
BOOL chromatix_anr10TypeClass::Loadchromatix_anr10_reserveType(
    ParameterFileSymbolTableEntry* entry,
    chromatix_anr10_reserveType* structure)
{
    BOOL result = TRUE;
    for (UINT32 i = 0; result && i < 4; i++)
    {
        result = result && Loadmod_anr10_pass_reserve_dataType(entry, &structure->mod_anr10_pass_reserve_data[i]);
    }

    return result;
}

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/// Load anr10_rgn_dataType
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
BOOL chromatix_anr10TypeClass::Loadanr10_rgn_dataType(
    ParameterFileSymbolTableEntry* entry,
    anr10_rgn_dataType* structure)
{
    BOOL result = TRUE;
    result = result && Loadanr10_rgn_dataType_luma_chroma_filter_configStruct(entry, &structure->luma_chroma_filter_config);
    result = result && Loadanr10_rgn_dataType_luma_filter_configStruct(entry, &structure->luma_filter_config);
    result = result && Loadanr10_rgn_dataType_chroma_filter_configStruct(entry, &structure->chroma_filter_config);
    result = result && Loadanr10_rgn_dataType_luma_filter_kernelStruct(entry, &structure->luma_filter_kernel);
    result = result && Loadanr10_rgn_dataType_chroma_filter_kernelStruct(entry, &structure->chroma_filter_kernel);
    result = result && Loadanr10_rgn_dataType_luma_peak_managementStruct(entry, &structure->luma_peak_management);
    result = result && Loadanr10_rgn_dataType_chroma_peak_managementStruct(entry, &structure->chroma_peak_management);
    result = result && Loadanr10_rgn_dataType_inter_length_thr_modificationStruct(entry, &structure->inter_length_thr_modification);
    result = result && Loadanr10_rgn_dataType_inter_length_output_indicationStruct(entry, &structure->inter_length_output_indication);
    result = result && Loadanr10_rgn_dataType_grey_treatmentStruct(entry, &structure->grey_treatment);
    result = result && Loadanr10_rgn_dataType_chroma_filter_extensionStruct(entry, &structure->chroma_filter_extension);
    result = result && Loadanr10_rgn_dataType_luma_smoothing_treatmentStruct(entry, &structure->luma_smoothing_treatment);
    result = result && Loadanr10_rgn_dataType_chroma_smoothing_treatmentStruct(entry, &structure->chroma_smoothing_treatment);
    result = result && Loadanr10_rgn_dataType_lnrStruct(entry, &structure->lnr);
    result = result && Loadanr10_rgn_dataType_cnrStruct(entry, &structure->cnr);
    result = result && Loadanr10_rgn_dataType_luma_filter_detection_thresholdsStruct(entry, &structure->luma_filter_detection_thresholds);
    result = result && Loadanr10_rgn_dataType_chroma_filter_detection_thresholdsStruct(entry, &structure->chroma_filter_detection_thresholds);
    result = result && Loadanr10_rgn_dataType_dcblend2Struct(entry, &structure->dcblend2);

    return result;
}

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/// Load anr10_rgn_dataType_luma_chroma_filter_configStruct
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
BOOL chromatix_anr10TypeClass::Loadanr10_rgn_dataType_luma_chroma_filter_configStruct(
    ParameterFileSymbolTableEntry* entry,
    anr10_rgn_dataType::luma_chroma_filter_configStruct* structure)
{
    BOOL result = TRUE;
    result = result && entry->ReadFloat(&structure->threshold_lut_control_avg_block_size);

    return result;
}

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/// Load anr10_rgn_dataType_luma_filter_configStruct
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
BOOL chromatix_anr10TypeClass::Loadanr10_rgn_dataType_luma_filter_configStruct(
    ParameterFileSymbolTableEntry* entry,
    anr10_rgn_dataType::luma_filter_configStruct* structure)
{
    BOOL result = TRUE;
    result = result && entry->ReadFloat(&structure->filter_isotropic_min_filter_size);
    result = result && entry->ReadFloat(&structure->filter_manual_derivatives_flags);
    result = result && entry->ReadFloat(&structure->dcind_isotropic_min_size);
    result = result && entry->ReadFloat(&structure->dcind_manual_derivatives_flags);
    result = result && entry->ReadFloat(&structure->second_derivative_max_influence_radius_filtering);
    result = result && entry->ReadFloat(&structure->second_derivative_max_influence_radius_dc_indication);

    return result;
}

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/// Load anr10_rgn_dataType_chroma_filter_configStruct
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
BOOL chromatix_anr10TypeClass::Loadanr10_rgn_dataType_chroma_filter_configStruct(
    ParameterFileSymbolTableEntry* entry,
    anr10_rgn_dataType::chroma_filter_configStruct* structure)
{
    BOOL result = TRUE;
    result = result && entry->ReadFloat(&structure->filter_isotropic_min_filter_size);
    result = result && entry->ReadFloat(&structure->filter_manual_derivatives_flags);
    result = result && entry->ReadFloat(&structure->dcind_isotropic_min_size);
    result = result && entry->ReadFloat(&structure->dcind_manual_derivatives_flags);

    return result;
}

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/// Load anr10_rgn_dataType_luma_filter_kernelStruct
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
BOOL chromatix_anr10TypeClass::Loadanr10_rgn_dataType_luma_filter_kernelStruct(
    ParameterFileSymbolTableEntry* entry,
    anr10_rgn_dataType::luma_filter_kernelStruct* structure)
{
    BOOL result = TRUE;
    result = result && entry->ReadFloat(&structure->edge_kernel_size);
    result = result && entry->ReadFloat(&structure->automatic_definition_granularity);
    result = result && entry->ReadFloat(&structure->manual_edge_kernel_1x1_center_coefficient);
    result = result && entry->ReadFloat(&structure->manual_edge_kernel_3x3_horver_shift);
    result = result && entry->ReadFloat(&structure->manual_edge_kernel_3x3_diag_shift);
    result = result && entry->ReadFloat(&structure->manual_edge_kernel_5x5_horver_shift);
    result = result && entry->ReadFloat(&structure->manual_edge_kernel_5x5_diag_shift);
    result = result && entry->ReadFloat(&structure->manual_edge_kernel_5x5_complement_shift);
    result = result && entry->ReadFloat(&structure->manual_edge_kernel_7x7_horver_shift);
    result = result && entry->ReadFloat(&structure->manual_edge_kernel_7x7_diag_shift);
    result = result && entry->ReadFloat(&structure->manual_edge_kernel_7x7_complement_shift);
    result = result && entry->ReadFloat(&structure->manual_edge_kernel_9x9_horver_shift);
    result = result && entry->ReadFloat(&structure->manual_edge_kernel_9x9_diag_shift);
    result = result && entry->ReadFloat(&structure->manual_edge_kernel_9x9_complement_shift);
    result = result && entry->ReadFloat(&structure->manual_flat_kernel_blend_weight);
    result = result && entry->ReadFloat(&structure->manual_flat_kernel_size);
    result = result && entry->ReadFloat(&structure->manual_flat_kernel_1x1_center_coefficient);
    result = result && entry->ReadFloat(&structure->manual_flat_kernel_3x3_horver_shift);
    result = result && entry->ReadFloat(&structure->manual_flat_kernel_3x3_diag_shift);
    result = result && entry->ReadFloat(&structure->manual_flat_kernel_5x5_horver_shift);
    result = result && entry->ReadFloat(&structure->manual_flat_kernel_5x5_diag_shift);
    result = result && entry->ReadFloat(&structure->manual_flat_kernel_5x5_complement_shift);
    result = result && entry->ReadFloat(&structure->manual_flat_kernel_7x7_horver_shift);
    result = result && entry->ReadFloat(&structure->manual_flat_kernel_7x7_diag_shift);
    result = result && entry->ReadFloat(&structure->manual_flat_kernel_7x7_complement_shift);
    result = result && entry->ReadFloat(&structure->manual_flat_kernel_9x9_horver_shift);
    result = result && entry->ReadFloat(&structure->manual_flat_kernel_9x9_diag_shift);
    result = result && entry->ReadFloat(&structure->manual_flat_kernel_9x9_complement_shift);

    return result;
}

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/// Load anr10_rgn_dataType_chroma_filter_kernelStruct
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
BOOL chromatix_anr10TypeClass::Loadanr10_rgn_dataType_chroma_filter_kernelStruct(
    ParameterFileSymbolTableEntry* entry,
    anr10_rgn_dataType::chroma_filter_kernelStruct* structure)
{
    BOOL result = TRUE;
    result = result && entry->ReadFloat(&structure->kernel_size);

    return result;
}

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/// Load anr10_rgn_dataType_luma_peak_managementStruct
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
BOOL chromatix_anr10TypeClass::Loadanr10_rgn_dataType_luma_peak_managementStruct(
    ParameterFileSymbolTableEntry* entry,
    anr10_rgn_dataType::luma_peak_managementStruct* structure)
{
    BOOL result = TRUE;
    result = result && entry->ReadFloat(&structure->detect_hard_decision_environment_activity);
    result = result && entry->ReadFloat(&structure->detect_hard_decision_distance_from_average);
    result = result && entry->ReadFloat(&structure->detect_soft_decision_distance_from_average_lower_limit);
    result = result && entry->ReadFloat(&structure->detect_soft_decision_distance_from_average_offset);
    result = result && entry->ReadFloat(&structure->detect_soft_decision_distance_from_average_slope);
    result = result && entry->ReadFloat(&structure->detect_extreme_decision_distance_from_maxmin);
    result = result && entry->ReadFloat(&structure->detect_dcsize_decision_sensitivity);
    result = result && entry->ReadFloat(&structure->correction_mode);
    result = result && entry->ReadFloat(&structure->correction_area_smart_min_inner_distance);
    result = result && entry->ReadFloat(&structure->correction_isotropic_activity_threshold);

    return result;
}

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/// Load anr10_rgn_dataType_chroma_peak_managementStruct
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
BOOL chromatix_anr10TypeClass::Loadanr10_rgn_dataType_chroma_peak_managementStruct(
    ParameterFileSymbolTableEntry* entry,
    anr10_rgn_dataType::chroma_peak_managementStruct* structure)
{
    BOOL result = TRUE;
    result = result && entry->ReadFloat(&structure->detect_hard_decision_environment_activity);
    result = result && entry->ReadFloat(&structure->detect_hard_decision_distance_from_average);
    result = result && entry->ReadFloat(&structure->detect_soft_decision_distance_from_average_lower_limit);
    result = result && entry->ReadFloat(&structure->detect_soft_decision_distance_from_average_offset);
    result = result && entry->ReadFloat(&structure->detect_soft_decision_distance_from_average_slope);
    result = result && entry->ReadFloat(&structure->detect_extreme_decision_distance_from_maxmin);
    result = result && entry->ReadFloat(&structure->detect_dcsize_decision_sensitivity);
    result = result && entry->ReadFloat(&structure->correction_mode);
    result = result && entry->ReadFloat(&structure->correction_area_smart_min_inner_distance);
    result = result && entry->ReadFloat(&structure->correction_isotropic_activity_threshold);

    return result;
}

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/// Load anr10_rgn_dataType_inter_length_thr_modificationStruct
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
BOOL chromatix_anr10TypeClass::Loadanr10_rgn_dataType_inter_length_thr_modificationStruct(
    ParameterFileSymbolTableEntry* entry,
    anr10_rgn_dataType::inter_length_thr_modificationStruct* structure)
{
    BOOL result = TRUE;
    result = result && entry->ReadFloat(&structure->luma_input_indication_thr_modification_scale);
    result = result && entry->ReadFloat(&structure->chroma_input_indication_thr_modification_scale);

    return result;
}

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/// Load anr10_rgn_dataType_inter_length_output_indicationStruct
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
BOOL chromatix_anr10TypeClass::Loadanr10_rgn_dataType_inter_length_output_indicationStruct(
    ParameterFileSymbolTableEntry* entry,
    anr10_rgn_dataType::inter_length_output_indicationStruct* structure)
{
    BOOL result = TRUE;
    result = result && entry->ReadFloat(&structure->luma_center_binarization_minflatval);
    result = result && entry->ReadFloat(&structure->luma_neighbours_binarization_minflatval);
    result = result && entry->ReadFloat(&structure->luma_neighbours_parallel_dist);
    result = result && entry->ReadFloat(&structure->luma_neighbours_perpendicular_dist);
    result = result && entry->ReadFloat(&structure->luma_neighbours_agreement_sensitivity);
    result = result && entry->ReadFloat(&structure->chroma_center_binarization_minflatval);
    result = result && entry->ReadFloat(&structure->chroma_neighbours_binarization_minflatval);
    result = result && entry->ReadFloat(&structure->chroma_neighbours_perpendicular_dist);
    result = result && entry->ReadFloat(&structure->chroma_neighbours_agreement_sensitivity);

    return result;
}

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/// Load anr10_rgn_dataType_grey_treatmentStruct
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
BOOL chromatix_anr10TypeClass::Loadanr10_rgn_dataType_grey_treatmentStruct(
    ParameterFileSymbolTableEntry* entry,
    anr10_rgn_dataType::grey_treatmentStruct* structure)
{
    BOOL result = TRUE;
    result = result && entry->ReadFloat(&structure->enable_grey_treatment_dcblend2_chroma_modification);
    result = result && entry->ReadFloat(&structure->detect_grey_condition_chromaticity_radius);
    result = result && entry->ReadFloat(&structure->detect_grey_condition_chromaticity_thr_low);
    result = result && entry->ReadFloat(&structure->detect_grey_condition_chromaticity_thr_high);
    result = result && entry->ReadFloat(&structure->detect_grey_condition_y_max_derivative_radius);
    result = result && entry->ReadFloat(&structure->detect_grey_condition_y_max_derivative_thr_low);
    result = result && entry->ReadFloat(&structure->detect_grey_condition_y_max_derivative_thr_high);
    result = result && entry->ReadFloat(&structure->detect_greydcsize_neighbors_chromaticity_thr);
    result = result && entry->ReadFloat(&structure->detect_greydcsize_center_detail_chromaticity_thr);
    result = result && entry->ReadFloat(&structure->thr_modification_target_y);
    result = result && entry->ReadFloat(&structure->thr_modification_target_u);
    result = result && entry->ReadFloat(&structure->thr_modification_target_v);
    result = result && entry->ReadFloat(&structure->isotropic_filter_blend_factor_scale);
    result = result && entry->ReadFloat(&structure->isotropic_filter_blend_factor_offset);
    result = result && entry->ReadFloat(&structure->isotropic_filter_size);

    return result;
}

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/// Load anr10_rgn_dataType_chroma_filter_extensionStruct
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
BOOL chromatix_anr10TypeClass::Loadanr10_rgn_dataType_chroma_filter_extensionStruct(
    ParameterFileSymbolTableEntry* entry,
    anr10_rgn_dataType::chroma_filter_extensionStruct* structure)
{
    BOOL result = TRUE;
    result = result && entry->ReadFloat(&structure->median_detect_override_detail_condition_chromaticity_thr);
    result = result && entry->ReadFloat(&structure->median_detect_override_detail_condition_y_max_derivative_thr);
    result = result && entry->ReadFloat(&structure->median_detect_corner_detail_sensitivity_y);
    result = result && entry->ReadFloat(&structure->median_detect_corner_detail_sensitivity_uv);
    result = result && entry->ReadFloat(&structure->median_detect_triple_chromaticities_detail_thr_up_down);
    result = result && entry->ReadFloat(&structure->median_detect_triple_chromaticities_detail_thr_external);
    result = result && entry->ReadFloat(&structure->median_detect_isotropic_self_decision_enforce_detail);
    result = result && entry->ReadFloat(&structure->median_detect_isotropic_neighbors_detail_sensitivity);
    result = result && entry->ReadFloat(&structure->median_detect_isotropic_neighbors_detail_sensitivity_far_scale);
    result = result && entry->ReadFloat(&structure->median_detect_directional_self_decision_enforce_detail);
    result = result && entry->ReadFloat(&structure->median_detect_directional_neighbors_detail_sensitivity);
    result = result && entry->ReadFloat(&structure->median_detect_directional_neighbors_detail_sensitivity_far_scale);
    result = result && entry->ReadFloat(&structure->bilateral_decision_minimalsize);
    result = result && entry->ReadFloat(&structure->bilateral_filtersize);
    result = result && entry->ReadFloat(&structure->chroma_flat_indication_extension_threshold_9x9);
    result = result && entry->ReadFloat(&structure->chroma_flat_indication_extension_threshold_11x11);
    result = result && entry->ReadFloat(&structure->chroma_grey_indication_extension_threshold_9x9);
    result = result && entry->ReadFloat(&structure->chroma_grey_indication_extension_threshold_11x11);

    return result;
}

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/// Load anr10_rgn_dataType_luma_smoothing_treatmentStruct
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
BOOL chromatix_anr10TypeClass::Loadanr10_rgn_dataType_luma_smoothing_treatmentStruct(
    ParameterFileSymbolTableEntry* entry,
    anr10_rgn_dataType::luma_smoothing_treatmentStruct* structure)
{
    BOOL result = TRUE;
    result = result && entry->ReadFloat(&structure->edge_smoothing_binarization_minflatval);
    result = result && entry->ReadFloat(&structure->edge_smoothing_binarization_maxedgeval);
    result = result && entry->ReadFloat(&structure->edge_smoothing_agreement_number);
    result = result && entry->ReadFloat(&structure->transition_smoothing_filter_size);
    result = result && entry->ReadFloat(&structure->transition_isotropic_neighbours_binarization_minflatval);
    result = result && entry->ReadFloat(&structure->transition_isotropic_neighbours_binarization_minedgeval);
    result = result && entry->ReadFloat(&structure->transition_isotropic_neighbours_binarization_maxedgeval);
    result = result && entry->ReadFloat(&structure->transition_isotropic_neighbours_agreement_sensitivity);
    result = result && entry->ReadFloat(&structure->transition_isotropic_neighbours_agreement_flat_vs_voters);
    result = result && entry->ReadFloat(&structure->flat_isotropic_3x3_neighbours_binarization_minflatval);
    result = result && entry->ReadFloat(&structure->flat_isotropic_3x3_neighbours_agreement_sensitivity);
    result = result && entry->ReadFloat(&structure->flat_isotropic_5x5_neighbours_agreement_sensitivity);
    result = result && entry->ReadFloat(&structure->smoothing_kernel_3x3_shift);
    result = result && entry->ReadFloat(&structure->smoothing_kernel_5x5_horver_shift);

    return result;
}

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/// Load anr10_rgn_dataType_chroma_smoothing_treatmentStruct
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
BOOL chromatix_anr10TypeClass::Loadanr10_rgn_dataType_chroma_smoothing_treatmentStruct(
    ParameterFileSymbolTableEntry* entry,
    anr10_rgn_dataType::chroma_smoothing_treatmentStruct* structure)
{
    BOOL result = TRUE;
    result = result && entry->ReadFloat(&structure->edge_smoothing_binarization_minflatval);
    result = result && entry->ReadFloat(&structure->edge_smoothing_binarization_maxedgeval);
    result = result && entry->ReadFloat(&structure->edge_smoothing_agreement_number);
    result = result && entry->ReadFloat(&structure->transition_isotropic_neighbours_binarization_minflatval);
    result = result && entry->ReadFloat(&structure->transition_isotropic_neighbours_binarization_minedgeval);
    result = result && entry->ReadFloat(&structure->transition_isotropic_neighbours_binarization_maxedgeval);
    result = result && entry->ReadFloat(&structure->transition_isotropic_neighbours_agreement_sensitivity);
    result = result && entry->ReadFloat(&structure->transition_isotropic_neighbours_agreement_flat_vs_voters);
    result = result && entry->ReadFloat(&structure->flat_isotropic_3x3_neighbours_binarization_minflatval);
    result = result && entry->ReadFloat(&structure->flat_isotropic_3x3_neighbours_agreement_sensitivity);
    result = result && entry->ReadFloat(&structure->smoothing_kernel_1x1_shift);
    result = result && entry->ReadFloat(&structure->smoothing_kernel_3x3_shift);

    return result;
}

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/// Load anr10_rgn_dataType_lnrStruct
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
BOOL chromatix_anr10TypeClass::Loadanr10_rgn_dataType_lnrStruct(
    ParameterFileSymbolTableEntry* entry,
    anr10_rgn_dataType::lnrStruct* structure)
{
    BOOL result = TRUE;
    result = result && entry->ReadFloat(&structure->elliptic_xc);
    result = result && entry->ReadFloat(&structure->elliptic_yc);
    result = result && entry->ReadFloat(&structure->elliptic_a);
    result = result && Loadanr10_rgn_dataType_anr10_rgn_dataType_lnrStruct_luma_filter_lut_thr_y_tabStruct(entry, &structure->luma_filter_lut_thr_y_tab);
    result = result && Loadanr10_rgn_dataType_anr10_rgn_dataType_lnrStruct_luma_filter_lut_thr_uv_tabStruct(entry, &structure->luma_filter_lut_thr_uv_tab);
    result = result && Loadanr10_rgn_dataType_anr10_rgn_dataType_lnrStruct_chroma_filter_lut_thr_y_tabStruct(entry, &structure->chroma_filter_lut_thr_y_tab);
    result = result && Loadanr10_rgn_dataType_anr10_rgn_dataType_lnrStruct_chroma_filter_lut_thr_uv_tabStruct(entry, &structure->chroma_filter_lut_thr_uv_tab);
    result = result && Loadanr10_rgn_dataType_anr10_rgn_dataType_lnrStruct_strength_modifier_radius_blend_lut_tabStruct(entry, &structure->strength_modifier_radius_blend_lut_tab);
    result = result && entry->ReadFloat(&structure->luma_lnr_dcblend2_target_factor);
    result = result && entry->ReadFloat(&structure->luma_lnr_flat_kernel_weight_target_factor);
    result = result && entry->ReadFloat(&structure->chroma_lnr_cnr_dcblend2_target_factor);
    result = result && entry->ReadFloat(&structure->automatic_influence_luma_luts);
    result = result && entry->ReadFloat(&structure->automatic_influence_chroma_luts);
    result = result && entry->ReadFloat(&structure->automatic_influence_modifier_radius_blend_lut);

    return result;
}

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/// Load anr10_rgn_dataType_anr10_rgn_dataType_lnrStruct_luma_filter_lut_thr_y_tabStruct
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
BOOL chromatix_anr10TypeClass::Loadanr10_rgn_dataType_anr10_rgn_dataType_lnrStruct_luma_filter_lut_thr_y_tabStruct(
    ParameterFileSymbolTableEntry* entry,
    anr10_rgn_dataType::lnrStruct::luma_filter_lut_thr_y_tabStruct* structure)
{
    BOOL result = TRUE;
    for (UINT32 i = 0; result && i < 17; i++)
    {
        result = result && entry->ReadFloat(&structure->luma_filter_lut_thr_y[i]);
    }

    return result;
}

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/// Load anr10_rgn_dataType_anr10_rgn_dataType_lnrStruct_luma_filter_lut_thr_uv_tabStruct
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
BOOL chromatix_anr10TypeClass::Loadanr10_rgn_dataType_anr10_rgn_dataType_lnrStruct_luma_filter_lut_thr_uv_tabStruct(
    ParameterFileSymbolTableEntry* entry,
    anr10_rgn_dataType::lnrStruct::luma_filter_lut_thr_uv_tabStruct* structure)
{
    BOOL result = TRUE;
    for (UINT32 i = 0; result && i < 17; i++)
    {
        result = result && entry->ReadFloat(&structure->luma_filter_lut_thr_uv[i]);
    }

    return result;
}

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/// Load anr10_rgn_dataType_anr10_rgn_dataType_lnrStruct_chroma_filter_lut_thr_y_tabStruct
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
BOOL chromatix_anr10TypeClass::Loadanr10_rgn_dataType_anr10_rgn_dataType_lnrStruct_chroma_filter_lut_thr_y_tabStruct(
    ParameterFileSymbolTableEntry* entry,
    anr10_rgn_dataType::lnrStruct::chroma_filter_lut_thr_y_tabStruct* structure)
{
    BOOL result = TRUE;
    for (UINT32 i = 0; result && i < 17; i++)
    {
        result = result && entry->ReadFloat(&structure->chroma_filter_lut_thr_y[i]);
    }

    return result;
}

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/// Load anr10_rgn_dataType_anr10_rgn_dataType_lnrStruct_chroma_filter_lut_thr_uv_tabStruct
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
BOOL chromatix_anr10TypeClass::Loadanr10_rgn_dataType_anr10_rgn_dataType_lnrStruct_chroma_filter_lut_thr_uv_tabStruct(
    ParameterFileSymbolTableEntry* entry,
    anr10_rgn_dataType::lnrStruct::chroma_filter_lut_thr_uv_tabStruct* structure)
{
    BOOL result = TRUE;
    for (UINT32 i = 0; result && i < 17; i++)
    {
        result = result && entry->ReadFloat(&structure->chroma_filter_lut_thr_uv[i]);
    }

    return result;
}

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/// Load anr10_rgn_dataType_anr10_rgn_dataType_lnrStruct_strength_modifier_radius_blend_lut_tabStruct
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
BOOL chromatix_anr10TypeClass::Loadanr10_rgn_dataType_anr10_rgn_dataType_lnrStruct_strength_modifier_radius_blend_lut_tabStruct(
    ParameterFileSymbolTableEntry* entry,
    anr10_rgn_dataType::lnrStruct::strength_modifier_radius_blend_lut_tabStruct* structure)
{
    BOOL result = TRUE;
    for (UINT32 i = 0; result && i < 17; i++)
    {
        result = result && entry->ReadFloat(&structure->strength_modifier_radius_blend_lut[i]);
    }

    return result;
}

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/// Load anr10_rgn_dataType_cnrStruct
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
BOOL chromatix_anr10TypeClass::Loadanr10_rgn_dataType_cnrStruct(
    ParameterFileSymbolTableEntry* entry,
    anr10_rgn_dataType::cnrStruct* structure)
{
    BOOL result = TRUE;
    result = result && Loadanr10_rgn_dataType_anr10_rgn_dataType_cnrStruct_detect_angle_start_tabStruct(entry, &structure->detect_angle_start_tab);
    result = result && Loadanr10_rgn_dataType_anr10_rgn_dataType_cnrStruct_detect_angle_end_tabStruct(entry, &structure->detect_angle_end_tab);
    result = result && Loadanr10_rgn_dataType_anr10_rgn_dataType_cnrStruct_detect_chromaticity_start_tabStruct(entry, &structure->detect_chromaticity_start_tab);
    result = result && Loadanr10_rgn_dataType_anr10_rgn_dataType_cnrStruct_detect_chromaticity_end_tabStruct(entry, &structure->detect_chromaticity_end_tab);
    result = result && Loadanr10_rgn_dataType_anr10_rgn_dataType_cnrStruct_detect_luma_start_tabStruct(entry, &structure->detect_luma_start_tab);
    result = result && Loadanr10_rgn_dataType_anr10_rgn_dataType_cnrStruct_detect_luma_end_tabStruct(entry, &structure->detect_luma_end_tab);
    result = result && entry->ReadFloat(&structure->detect_color0_skin_saturation_min_y_min);
    result = result && entry->ReadFloat(&structure->detect_color0_skin_saturation_max_y_min);
    result = result && entry->ReadFloat(&structure->detect_color0_skin_saturation_min_y_max);
    result = result && entry->ReadFloat(&structure->detect_color0_skin_saturation_max_y_max);
    result = result && Loadanr10_rgn_dataType_anr10_rgn_dataType_cnrStruct_boundary_weight_tabStruct(entry, &structure->boundary_weight_tab);
    result = result && Loadanr10_rgn_dataType_anr10_rgn_dataType_cnrStruct_transition_ratio_tabStruct(entry, &structure->transition_ratio_tab);
    result = result && entry->ReadFloat(&structure->color0_transition_ratio_external);
    result = result && Loadanr10_rgn_dataType_anr10_rgn_dataType_cnrStruct_luma_filter_threshold_scale_y_tabStruct(entry, &structure->luma_filter_threshold_scale_y_tab);
    result = result && Loadanr10_rgn_dataType_anr10_rgn_dataType_cnrStruct_luma_filter_threshold_scale_uv_tabStruct(entry, &structure->luma_filter_threshold_scale_uv_tab);
    result = result && Loadanr10_rgn_dataType_anr10_rgn_dataType_cnrStruct_luma_filter_offset_y_tabStruct(entry, &structure->luma_filter_offset_y_tab);
    result = result && Loadanr10_rgn_dataType_anr10_rgn_dataType_cnrStruct_luma_filter_offset_u_tabStruct(entry, &structure->luma_filter_offset_u_tab);
    result = result && Loadanr10_rgn_dataType_anr10_rgn_dataType_cnrStruct_luma_filter_offset_v_tabStruct(entry, &structure->luma_filter_offset_v_tab);
    result = result && Loadanr10_rgn_dataType_anr10_rgn_dataType_cnrStruct_chroma_filter_threshold_scale_y_tabStruct(entry, &structure->chroma_filter_threshold_scale_y_tab);
    result = result && Loadanr10_rgn_dataType_anr10_rgn_dataType_cnrStruct_chroma_filter_threshold_scale_uv_tabStruct(entry, &structure->chroma_filter_threshold_scale_uv_tab);
    result = result && Loadanr10_rgn_dataType_anr10_rgn_dataType_cnrStruct_chroma_filter_offset_y_tabStruct(entry, &structure->chroma_filter_offset_y_tab);
    result = result && Loadanr10_rgn_dataType_anr10_rgn_dataType_cnrStruct_chroma_filter_offset_u_tabStruct(entry, &structure->chroma_filter_offset_u_tab);
    result = result && Loadanr10_rgn_dataType_anr10_rgn_dataType_cnrStruct_chroma_filter_offset_v_tabStruct(entry, &structure->chroma_filter_offset_v_tab);
    result = result && entry->ReadFloat(&structure->luma_filter_base_far_modifier_y);
    result = result && entry->ReadFloat(&structure->luma_filter_base_far_modifier_uv);
    result = result && entry->ReadFloat(&structure->chroma_filter_base_far_modifier_y);
    result = result && entry->ReadFloat(&structure->chroma_filter_base_far_modifier_uv);
    result = result && Loadanr10_rgn_dataType_anr10_rgn_dataType_cnrStruct_luma_dcblend2_weight_scale_tabStruct(entry, &structure->luma_dcblend2_weight_scale_tab);
    result = result && Loadanr10_rgn_dataType_anr10_rgn_dataType_cnrStruct_chroma_dcblend2_weight_restricted_scale_tabStruct(entry, &structure->chroma_dcblend2_weight_restricted_scale_tab);
    result = result && Loadanr10_rgn_dataType_anr10_rgn_dataType_cnrStruct_luma_flat_kernel_blend_weight_scale_tabStruct(entry, &structure->luma_flat_kernel_blend_weight_scale_tab);

    return result;
}

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/// Load anr10_rgn_dataType_anr10_rgn_dataType_cnrStruct_detect_angle_start_tabStruct
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
BOOL chromatix_anr10TypeClass::Loadanr10_rgn_dataType_anr10_rgn_dataType_cnrStruct_detect_angle_start_tabStruct(
    ParameterFileSymbolTableEntry* entry,
    anr10_rgn_dataType::cnrStruct::detect_angle_start_tabStruct* structure)
{
    BOOL result = TRUE;
    for (UINT32 i = 0; result && i < 5; i++)
    {
        result = result && entry->ReadFloat(&structure->detect_angle_start[i]);
    }

    return result;
}

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/// Load anr10_rgn_dataType_anr10_rgn_dataType_cnrStruct_detect_angle_end_tabStruct
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
BOOL chromatix_anr10TypeClass::Loadanr10_rgn_dataType_anr10_rgn_dataType_cnrStruct_detect_angle_end_tabStruct(
    ParameterFileSymbolTableEntry* entry,
    anr10_rgn_dataType::cnrStruct::detect_angle_end_tabStruct* structure)
{
    BOOL result = TRUE;
    for (UINT32 i = 0; result && i < 5; i++)
    {
        result = result && entry->ReadFloat(&structure->detect_angle_end[i]);
    }

    return result;
}

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/// Load anr10_rgn_dataType_anr10_rgn_dataType_cnrStruct_detect_chromaticity_start_tabStruct
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
BOOL chromatix_anr10TypeClass::Loadanr10_rgn_dataType_anr10_rgn_dataType_cnrStruct_detect_chromaticity_start_tabStruct(
    ParameterFileSymbolTableEntry* entry,
    anr10_rgn_dataType::cnrStruct::detect_chromaticity_start_tabStruct* structure)
{
    BOOL result = TRUE;
    for (UINT32 i = 0; result && i < 5; i++)
    {
        result = result && entry->ReadFloat(&structure->detect_chromaticity_start[i]);
    }

    return result;
}

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/// Load anr10_rgn_dataType_anr10_rgn_dataType_cnrStruct_detect_chromaticity_end_tabStruct
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
BOOL chromatix_anr10TypeClass::Loadanr10_rgn_dataType_anr10_rgn_dataType_cnrStruct_detect_chromaticity_end_tabStruct(
    ParameterFileSymbolTableEntry* entry,
    anr10_rgn_dataType::cnrStruct::detect_chromaticity_end_tabStruct* structure)
{
    BOOL result = TRUE;
    for (UINT32 i = 0; result && i < 5; i++)
    {
        result = result && entry->ReadFloat(&structure->detect_chromaticity_end[i]);
    }

    return result;
}

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/// Load anr10_rgn_dataType_anr10_rgn_dataType_cnrStruct_detect_luma_start_tabStruct
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
BOOL chromatix_anr10TypeClass::Loadanr10_rgn_dataType_anr10_rgn_dataType_cnrStruct_detect_luma_start_tabStruct(
    ParameterFileSymbolTableEntry* entry,
    anr10_rgn_dataType::cnrStruct::detect_luma_start_tabStruct* structure)
{
    BOOL result = TRUE;
    for (UINT32 i = 0; result && i < 5; i++)
    {
        result = result && entry->ReadFloat(&structure->detect_luma_start[i]);
    }

    return result;
}

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/// Load anr10_rgn_dataType_anr10_rgn_dataType_cnrStruct_detect_luma_end_tabStruct
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
BOOL chromatix_anr10TypeClass::Loadanr10_rgn_dataType_anr10_rgn_dataType_cnrStruct_detect_luma_end_tabStruct(
    ParameterFileSymbolTableEntry* entry,
    anr10_rgn_dataType::cnrStruct::detect_luma_end_tabStruct* structure)
{
    BOOL result = TRUE;
    for (UINT32 i = 0; result && i < 5; i++)
    {
        result = result && entry->ReadFloat(&structure->detect_luma_end[i]);
    }

    return result;
}

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/// Load anr10_rgn_dataType_anr10_rgn_dataType_cnrStruct_boundary_weight_tabStruct
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
BOOL chromatix_anr10TypeClass::Loadanr10_rgn_dataType_anr10_rgn_dataType_cnrStruct_boundary_weight_tabStruct(
    ParameterFileSymbolTableEntry* entry,
    anr10_rgn_dataType::cnrStruct::boundary_weight_tabStruct* structure)
{
    BOOL result = TRUE;
    for (UINT32 i = 0; result && i < 5; i++)
    {
        result = result && entry->ReadFloat(&structure->boundary_weight[i]);
    }

    return result;
}

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/// Load anr10_rgn_dataType_anr10_rgn_dataType_cnrStruct_transition_ratio_tabStruct
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
BOOL chromatix_anr10TypeClass::Loadanr10_rgn_dataType_anr10_rgn_dataType_cnrStruct_transition_ratio_tabStruct(
    ParameterFileSymbolTableEntry* entry,
    anr10_rgn_dataType::cnrStruct::transition_ratio_tabStruct* structure)
{
    BOOL result = TRUE;
    for (UINT32 i = 0; result && i < 5; i++)
    {
        result = result && entry->ReadFloat(&structure->transition_ratio[i]);
    }

    return result;
}

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/// Load anr10_rgn_dataType_anr10_rgn_dataType_cnrStruct_luma_filter_threshold_scale_y_tabStruct
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
BOOL chromatix_anr10TypeClass::Loadanr10_rgn_dataType_anr10_rgn_dataType_cnrStruct_luma_filter_threshold_scale_y_tabStruct(
    ParameterFileSymbolTableEntry* entry,
    anr10_rgn_dataType::cnrStruct::luma_filter_threshold_scale_y_tabStruct* structure)
{
    BOOL result = TRUE;
    for (UINT32 i = 0; result && i < 5; i++)
    {
        result = result && entry->ReadFloat(&structure->luma_filter_threshold_scale_y[i]);
    }

    return result;
}

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/// Load anr10_rgn_dataType_anr10_rgn_dataType_cnrStruct_luma_filter_threshold_scale_uv_tabStruct
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
BOOL chromatix_anr10TypeClass::Loadanr10_rgn_dataType_anr10_rgn_dataType_cnrStruct_luma_filter_threshold_scale_uv_tabStruct(
    ParameterFileSymbolTableEntry* entry,
    anr10_rgn_dataType::cnrStruct::luma_filter_threshold_scale_uv_tabStruct* structure)
{
    BOOL result = TRUE;
    for (UINT32 i = 0; result && i < 5; i++)
    {
        result = result && entry->ReadFloat(&structure->luma_filter_threshold_scale_uv[i]);
    }

    return result;
}

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/// Load anr10_rgn_dataType_anr10_rgn_dataType_cnrStruct_luma_filter_offset_y_tabStruct
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
BOOL chromatix_anr10TypeClass::Loadanr10_rgn_dataType_anr10_rgn_dataType_cnrStruct_luma_filter_offset_y_tabStruct(
    ParameterFileSymbolTableEntry* entry,
    anr10_rgn_dataType::cnrStruct::luma_filter_offset_y_tabStruct* structure)
{
    BOOL result = TRUE;
    for (UINT32 i = 0; result && i < 5; i++)
    {
        result = result && entry->ReadFloat(&structure->luma_filter_offset_y[i]);
    }

    return result;
}

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/// Load anr10_rgn_dataType_anr10_rgn_dataType_cnrStruct_luma_filter_offset_u_tabStruct
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
BOOL chromatix_anr10TypeClass::Loadanr10_rgn_dataType_anr10_rgn_dataType_cnrStruct_luma_filter_offset_u_tabStruct(
    ParameterFileSymbolTableEntry* entry,
    anr10_rgn_dataType::cnrStruct::luma_filter_offset_u_tabStruct* structure)
{
    BOOL result = TRUE;
    for (UINT32 i = 0; result && i < 5; i++)
    {
        result = result && entry->ReadFloat(&structure->luma_filter_offset_u[i]);
    }

    return result;
}

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/// Load anr10_rgn_dataType_anr10_rgn_dataType_cnrStruct_luma_filter_offset_v_tabStruct
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
BOOL chromatix_anr10TypeClass::Loadanr10_rgn_dataType_anr10_rgn_dataType_cnrStruct_luma_filter_offset_v_tabStruct(
    ParameterFileSymbolTableEntry* entry,
    anr10_rgn_dataType::cnrStruct::luma_filter_offset_v_tabStruct* structure)
{
    BOOL result = TRUE;
    for (UINT32 i = 0; result && i < 5; i++)
    {
        result = result && entry->ReadFloat(&structure->luma_filter_offset_v[i]);
    }

    return result;
}

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/// Load anr10_rgn_dataType_anr10_rgn_dataType_cnrStruct_chroma_filter_threshold_scale_y_tabStruct
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
BOOL chromatix_anr10TypeClass::Loadanr10_rgn_dataType_anr10_rgn_dataType_cnrStruct_chroma_filter_threshold_scale_y_tabStruct(
    ParameterFileSymbolTableEntry* entry,
    anr10_rgn_dataType::cnrStruct::chroma_filter_threshold_scale_y_tabStruct* structure)
{
    BOOL result = TRUE;
    for (UINT32 i = 0; result && i < 5; i++)
    {
        result = result && entry->ReadFloat(&structure->chroma_filter_threshold_scale_y[i]);
    }

    return result;
}

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/// Load anr10_rgn_dataType_anr10_rgn_dataType_cnrStruct_chroma_filter_threshold_scale_uv_tabStruct
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
BOOL chromatix_anr10TypeClass::Loadanr10_rgn_dataType_anr10_rgn_dataType_cnrStruct_chroma_filter_threshold_scale_uv_tabStruct(
    ParameterFileSymbolTableEntry* entry,
    anr10_rgn_dataType::cnrStruct::chroma_filter_threshold_scale_uv_tabStruct* structure)
{
    BOOL result = TRUE;
    for (UINT32 i = 0; result && i < 5; i++)
    {
        result = result && entry->ReadFloat(&structure->chroma_filter_threshold_scale_uv[i]);
    }

    return result;
}

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/// Load anr10_rgn_dataType_anr10_rgn_dataType_cnrStruct_chroma_filter_offset_y_tabStruct
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
BOOL chromatix_anr10TypeClass::Loadanr10_rgn_dataType_anr10_rgn_dataType_cnrStruct_chroma_filter_offset_y_tabStruct(
    ParameterFileSymbolTableEntry* entry,
    anr10_rgn_dataType::cnrStruct::chroma_filter_offset_y_tabStruct* structure)
{
    BOOL result = TRUE;
    for (UINT32 i = 0; result && i < 5; i++)
    {
        result = result && entry->ReadFloat(&structure->chroma_filter_offset_y[i]);
    }

    return result;
}

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/// Load anr10_rgn_dataType_anr10_rgn_dataType_cnrStruct_chroma_filter_offset_u_tabStruct
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
BOOL chromatix_anr10TypeClass::Loadanr10_rgn_dataType_anr10_rgn_dataType_cnrStruct_chroma_filter_offset_u_tabStruct(
    ParameterFileSymbolTableEntry* entry,
    anr10_rgn_dataType::cnrStruct::chroma_filter_offset_u_tabStruct* structure)
{
    BOOL result = TRUE;
    for (UINT32 i = 0; result && i < 5; i++)
    {
        result = result && entry->ReadFloat(&structure->chroma_filter_offset_u[i]);
    }

    return result;
}

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/// Load anr10_rgn_dataType_anr10_rgn_dataType_cnrStruct_chroma_filter_offset_v_tabStruct
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
BOOL chromatix_anr10TypeClass::Loadanr10_rgn_dataType_anr10_rgn_dataType_cnrStruct_chroma_filter_offset_v_tabStruct(
    ParameterFileSymbolTableEntry* entry,
    anr10_rgn_dataType::cnrStruct::chroma_filter_offset_v_tabStruct* structure)
{
    BOOL result = TRUE;
    for (UINT32 i = 0; result && i < 5; i++)
    {
        result = result && entry->ReadFloat(&structure->chroma_filter_offset_v[i]);
    }

    return result;
}

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/// Load anr10_rgn_dataType_anr10_rgn_dataType_cnrStruct_luma_dcblend2_weight_scale_tabStruct
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
BOOL chromatix_anr10TypeClass::Loadanr10_rgn_dataType_anr10_rgn_dataType_cnrStruct_luma_dcblend2_weight_scale_tabStruct(
    ParameterFileSymbolTableEntry* entry,
    anr10_rgn_dataType::cnrStruct::luma_dcblend2_weight_scale_tabStruct* structure)
{
    BOOL result = TRUE;
    for (UINT32 i = 0; result && i < 5; i++)
    {
        result = result && entry->ReadFloat(&structure->luma_dcblend2_weight_scale[i]);
    }

    return result;
}

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/// Load anr10_rgn_dataType_anr10_rgn_dataType_cnrStruct_chroma_dcblend2_weight_restricted_scale_tabStruct
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
BOOL chromatix_anr10TypeClass::Loadanr10_rgn_dataType_anr10_rgn_dataType_cnrStruct_chroma_dcblend2_weight_restricted_scale_tabStruct(
    ParameterFileSymbolTableEntry* entry,
    anr10_rgn_dataType::cnrStruct::chroma_dcblend2_weight_restricted_scale_tabStruct* structure)
{
    BOOL result = TRUE;
    for (UINT32 i = 0; result && i < 5; i++)
    {
        result = result && entry->ReadFloat(&structure->chroma_dcblend2_weight_restricted_scale[i]);
    }

    return result;
}

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/// Load anr10_rgn_dataType_anr10_rgn_dataType_cnrStruct_luma_flat_kernel_blend_weight_scale_tabStruct
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
BOOL chromatix_anr10TypeClass::Loadanr10_rgn_dataType_anr10_rgn_dataType_cnrStruct_luma_flat_kernel_blend_weight_scale_tabStruct(
    ParameterFileSymbolTableEntry* entry,
    anr10_rgn_dataType::cnrStruct::luma_flat_kernel_blend_weight_scale_tabStruct* structure)
{
    BOOL result = TRUE;
    for (UINT32 i = 0; result && i < 5; i++)
    {
        result = result && entry->ReadFloat(&structure->luma_flat_kernel_blend_weight_scale[i]);
    }

    return result;
}

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/// Load anr10_rgn_dataType_luma_filter_detection_thresholdsStruct
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
BOOL chromatix_anr10TypeClass::Loadanr10_rgn_dataType_luma_filter_detection_thresholdsStruct(
    ParameterFileSymbolTableEntry* entry,
    anr10_rgn_dataType::luma_filter_detection_thresholdsStruct* structure)
{
    BOOL result = TRUE;
    result = result && Loadanr10_rgn_dataType_anr10_rgn_dataType_luma_filter_detection_thresholdsStruct_y_threshold_per_y_tabStruct(entry, &structure->y_threshold_per_y_tab);
    result = result && Loadanr10_rgn_dataType_anr10_rgn_dataType_luma_filter_detection_thresholdsStruct_y_threshold_per_uv_tabStruct(entry, &structure->y_threshold_per_uv_tab);
    result = result && entry->ReadFloat(&structure->y_threshold_top_limit);
    result = result && entry->ReadFloat(&structure->y_threshold_bottom_limit);
    result = result && entry->ReadFloat(&structure->y_threshold_close3_mod_scale);
    result = result && entry->ReadFloat(&structure->y_threshold_close3_mod_offset);
    result = result && entry->ReadFloat(&structure->y_threshold_der2_close3_mod_scale);
    result = result && entry->ReadFloat(&structure->y_threshold_der2_close3_mod_offset);
    result = result && entry->ReadFloat(&structure->y_threshold_far_mod_scale);
    result = result && entry->ReadFloat(&structure->y_threshold_far_mod_offset);
    result = result && entry->ReadFloat(&structure->y_threshold_close_external_mod_scale);
    result = result && entry->ReadFloat(&structure->y_threshold_close_external_mod_offset);
    result = result && entry->ReadFloat(&structure->y_threshold_far_external_mod_scale);
    result = result && entry->ReadFloat(&structure->y_threshold_far_external_mod_offset);
    result = result && Loadanr10_rgn_dataType_anr10_rgn_dataType_luma_filter_detection_thresholdsStruct_u_threshold_per_y_tabStruct(entry, &structure->u_threshold_per_y_tab);
    result = result && Loadanr10_rgn_dataType_anr10_rgn_dataType_luma_filter_detection_thresholdsStruct_u_threshold_per_uv_tabStruct(entry, &structure->u_threshold_per_uv_tab);
    result = result && entry->ReadFloat(&structure->u_threshold_top_limit);
    result = result && entry->ReadFloat(&structure->u_threshold_bottom_limit);
    result = result && entry->ReadFloat(&structure->u_threshold_far_mod_scale);
    result = result && entry->ReadFloat(&structure->u_threshold_far_mod_offset);
    result = result && entry->ReadFloat(&structure->u_threshold_far_external_mod_scale);
    result = result && entry->ReadFloat(&structure->u_threshold_far_external_mod_offset);
    result = result && Loadanr10_rgn_dataType_anr10_rgn_dataType_luma_filter_detection_thresholdsStruct_v_threshold_per_y_tabStruct(entry, &structure->v_threshold_per_y_tab);
    result = result && Loadanr10_rgn_dataType_anr10_rgn_dataType_luma_filter_detection_thresholdsStruct_v_threshold_per_uv_tabStruct(entry, &structure->v_threshold_per_uv_tab);
    result = result && entry->ReadFloat(&structure->v_threshold_top_limit);
    result = result && entry->ReadFloat(&structure->v_threshold_bottom_limit);
    result = result && entry->ReadFloat(&structure->v_threshold_far_mod_scale);
    result = result && entry->ReadFloat(&structure->v_threshold_far_mod_offset);
    result = result && entry->ReadFloat(&structure->v_threshold_far_external_mod_scale);
    result = result && entry->ReadFloat(&structure->v_threshold_far_external_mod_offset);

    return result;
}

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/// Load anr10_rgn_dataType_anr10_rgn_dataType_luma_filter_detection_thresholdsStruct_y_threshold_per_y_tabStruct
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
BOOL chromatix_anr10TypeClass::Loadanr10_rgn_dataType_anr10_rgn_dataType_luma_filter_detection_thresholdsStruct_y_threshold_per_y_tabStruct(
    ParameterFileSymbolTableEntry* entry,
    anr10_rgn_dataType::luma_filter_detection_thresholdsStruct::y_threshold_per_y_tabStruct* structure)
{
    BOOL result = TRUE;
    for (UINT32 i = 0; result && i < 17; i++)
    {
        result = result && entry->ReadFloat(&structure->y_threshold_per_y[i]);
    }

    return result;
}

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/// Load anr10_rgn_dataType_anr10_rgn_dataType_luma_filter_detection_thresholdsStruct_y_threshold_per_uv_tabStruct
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
BOOL chromatix_anr10TypeClass::Loadanr10_rgn_dataType_anr10_rgn_dataType_luma_filter_detection_thresholdsStruct_y_threshold_per_uv_tabStruct(
    ParameterFileSymbolTableEntry* entry,
    anr10_rgn_dataType::luma_filter_detection_thresholdsStruct::y_threshold_per_uv_tabStruct* structure)
{
    BOOL result = TRUE;
    for (UINT32 i = 0; result && i < 8; i++)
    {
        result = result && entry->ReadFloat(&structure->y_threshold_per_uv[i]);
    }

    return result;
}

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/// Load anr10_rgn_dataType_anr10_rgn_dataType_luma_filter_detection_thresholdsStruct_u_threshold_per_y_tabStruct
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
BOOL chromatix_anr10TypeClass::Loadanr10_rgn_dataType_anr10_rgn_dataType_luma_filter_detection_thresholdsStruct_u_threshold_per_y_tabStruct(
    ParameterFileSymbolTableEntry* entry,
    anr10_rgn_dataType::luma_filter_detection_thresholdsStruct::u_threshold_per_y_tabStruct* structure)
{
    BOOL result = TRUE;
    for (UINT32 i = 0; result && i < 17; i++)
    {
        result = result && entry->ReadFloat(&structure->u_threshold_per_y[i]);
    }

    return result;
}

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/// Load anr10_rgn_dataType_anr10_rgn_dataType_luma_filter_detection_thresholdsStruct_u_threshold_per_uv_tabStruct
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
BOOL chromatix_anr10TypeClass::Loadanr10_rgn_dataType_anr10_rgn_dataType_luma_filter_detection_thresholdsStruct_u_threshold_per_uv_tabStruct(
    ParameterFileSymbolTableEntry* entry,
    anr10_rgn_dataType::luma_filter_detection_thresholdsStruct::u_threshold_per_uv_tabStruct* structure)
{
    BOOL result = TRUE;
    for (UINT32 i = 0; result && i < 8; i++)
    {
        result = result && entry->ReadFloat(&structure->u_threshold_per_uv[i]);
    }

    return result;
}

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/// Load anr10_rgn_dataType_anr10_rgn_dataType_luma_filter_detection_thresholdsStruct_v_threshold_per_y_tabStruct
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
BOOL chromatix_anr10TypeClass::Loadanr10_rgn_dataType_anr10_rgn_dataType_luma_filter_detection_thresholdsStruct_v_threshold_per_y_tabStruct(
    ParameterFileSymbolTableEntry* entry,
    anr10_rgn_dataType::luma_filter_detection_thresholdsStruct::v_threshold_per_y_tabStruct* structure)
{
    BOOL result = TRUE;
    for (UINT32 i = 0; result && i < 17; i++)
    {
        result = result && entry->ReadFloat(&structure->v_threshold_per_y[i]);
    }

    return result;
}

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/// Load anr10_rgn_dataType_anr10_rgn_dataType_luma_filter_detection_thresholdsStruct_v_threshold_per_uv_tabStruct
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
BOOL chromatix_anr10TypeClass::Loadanr10_rgn_dataType_anr10_rgn_dataType_luma_filter_detection_thresholdsStruct_v_threshold_per_uv_tabStruct(
    ParameterFileSymbolTableEntry* entry,
    anr10_rgn_dataType::luma_filter_detection_thresholdsStruct::v_threshold_per_uv_tabStruct* structure)
{
    BOOL result = TRUE;
    for (UINT32 i = 0; result && i < 8; i++)
    {
        result = result && entry->ReadFloat(&structure->v_threshold_per_uv[i]);
    }

    return result;
}

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/// Load anr10_rgn_dataType_chroma_filter_detection_thresholdsStruct
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
BOOL chromatix_anr10TypeClass::Loadanr10_rgn_dataType_chroma_filter_detection_thresholdsStruct(
    ParameterFileSymbolTableEntry* entry,
    anr10_rgn_dataType::chroma_filter_detection_thresholdsStruct* structure)
{
    BOOL result = TRUE;
    result = result && Loadanr10_rgn_dataType_anr10_rgn_dataType_chroma_filter_detection_thresholdsStruct_y_threshold_per_y_tabStruct(entry, &structure->y_threshold_per_y_tab);
    result = result && Loadanr10_rgn_dataType_anr10_rgn_dataType_chroma_filter_detection_thresholdsStruct_y_threshold_per_uv_tabStruct(entry, &structure->y_threshold_per_uv_tab);
    result = result && entry->ReadFloat(&structure->y_threshold_top_limit);
    result = result && entry->ReadFloat(&structure->y_threshold_bottom_limit);
    result = result && entry->ReadFloat(&structure->y_threshold_far_mod_scale);
    result = result && entry->ReadFloat(&structure->y_threshold_far_mod_offset);
    result = result && Loadanr10_rgn_dataType_anr10_rgn_dataType_chroma_filter_detection_thresholdsStruct_u_threshold_per_y_tabStruct(entry, &structure->u_threshold_per_y_tab);
    result = result && Loadanr10_rgn_dataType_anr10_rgn_dataType_chroma_filter_detection_thresholdsStruct_u_threshold_per_uv_tabStruct(entry, &structure->u_threshold_per_uv_tab);
    result = result && entry->ReadFloat(&structure->u_threshold_top_limit);
    result = result && entry->ReadFloat(&structure->u_threshold_bottom_limit);
    result = result && entry->ReadFloat(&structure->u_threshold_far_mod_scale);
    result = result && entry->ReadFloat(&structure->u_threshold_far_mod_offset);
    result = result && entry->ReadFloat(&structure->u_threshold_distant_mod_scale);
    result = result && entry->ReadFloat(&structure->u_threshold_distant_mod_offset);
    result = result && Loadanr10_rgn_dataType_anr10_rgn_dataType_chroma_filter_detection_thresholdsStruct_v_threshold_per_y_tabStruct(entry, &structure->v_threshold_per_y_tab);
    result = result && Loadanr10_rgn_dataType_anr10_rgn_dataType_chroma_filter_detection_thresholdsStruct_v_threshold_per_uv_tabStruct(entry, &structure->v_threshold_per_uv_tab);
    result = result && entry->ReadFloat(&structure->v_threshold_top_limit);
    result = result && entry->ReadFloat(&structure->v_threshold_bottom_limit);
    result = result && entry->ReadFloat(&structure->v_threshold_far_mod_scale);
    result = result && entry->ReadFloat(&structure->v_threshold_far_mod_offset);
    result = result && entry->ReadFloat(&structure->v_threshold_distant_mod_scale);
    result = result && entry->ReadFloat(&structure->v_threshold_distant_mod_offset);

    return result;
}

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/// Load anr10_rgn_dataType_anr10_rgn_dataType_chroma_filter_detection_thresholdsStruct_y_threshold_per_y_tabStruct
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
BOOL chromatix_anr10TypeClass::Loadanr10_rgn_dataType_anr10_rgn_dataType_chroma_filter_detection_thresholdsStruct_y_threshold_per_y_tabStruct(
    ParameterFileSymbolTableEntry* entry,
    anr10_rgn_dataType::chroma_filter_detection_thresholdsStruct::y_threshold_per_y_tabStruct* structure)
{
    BOOL result = TRUE;
    for (UINT32 i = 0; result && i < 17; i++)
    {
        result = result && entry->ReadFloat(&structure->y_threshold_per_y[i]);
    }

    return result;
}

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/// Load anr10_rgn_dataType_anr10_rgn_dataType_chroma_filter_detection_thresholdsStruct_y_threshold_per_uv_tabStruct
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
BOOL chromatix_anr10TypeClass::Loadanr10_rgn_dataType_anr10_rgn_dataType_chroma_filter_detection_thresholdsStruct_y_threshold_per_uv_tabStruct(
    ParameterFileSymbolTableEntry* entry,
    anr10_rgn_dataType::chroma_filter_detection_thresholdsStruct::y_threshold_per_uv_tabStruct* structure)
{
    BOOL result = TRUE;
    for (UINT32 i = 0; result && i < 8; i++)
    {
        result = result && entry->ReadFloat(&structure->y_threshold_per_uv[i]);
    }

    return result;
}

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/// Load anr10_rgn_dataType_anr10_rgn_dataType_chroma_filter_detection_thresholdsStruct_u_threshold_per_y_tabStruct
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
BOOL chromatix_anr10TypeClass::Loadanr10_rgn_dataType_anr10_rgn_dataType_chroma_filter_detection_thresholdsStruct_u_threshold_per_y_tabStruct(
    ParameterFileSymbolTableEntry* entry,
    anr10_rgn_dataType::chroma_filter_detection_thresholdsStruct::u_threshold_per_y_tabStruct* structure)
{
    BOOL result = TRUE;
    for (UINT32 i = 0; result && i < 17; i++)
    {
        result = result && entry->ReadFloat(&structure->u_threshold_per_y[i]);
    }

    return result;
}

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/// Load anr10_rgn_dataType_anr10_rgn_dataType_chroma_filter_detection_thresholdsStruct_u_threshold_per_uv_tabStruct
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
BOOL chromatix_anr10TypeClass::Loadanr10_rgn_dataType_anr10_rgn_dataType_chroma_filter_detection_thresholdsStruct_u_threshold_per_uv_tabStruct(
    ParameterFileSymbolTableEntry* entry,
    anr10_rgn_dataType::chroma_filter_detection_thresholdsStruct::u_threshold_per_uv_tabStruct* structure)
{
    BOOL result = TRUE;
    for (UINT32 i = 0; result && i < 8; i++)
    {
        result = result && entry->ReadFloat(&structure->u_threshold_per_uv[i]);
    }

    return result;
}

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/// Load anr10_rgn_dataType_anr10_rgn_dataType_chroma_filter_detection_thresholdsStruct_v_threshold_per_y_tabStruct
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
BOOL chromatix_anr10TypeClass::Loadanr10_rgn_dataType_anr10_rgn_dataType_chroma_filter_detection_thresholdsStruct_v_threshold_per_y_tabStruct(
    ParameterFileSymbolTableEntry* entry,
    anr10_rgn_dataType::chroma_filter_detection_thresholdsStruct::v_threshold_per_y_tabStruct* structure)
{
    BOOL result = TRUE;
    for (UINT32 i = 0; result && i < 17; i++)
    {
        result = result && entry->ReadFloat(&structure->v_threshold_per_y[i]);
    }

    return result;
}

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/// Load anr10_rgn_dataType_anr10_rgn_dataType_chroma_filter_detection_thresholdsStruct_v_threshold_per_uv_tabStruct
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
BOOL chromatix_anr10TypeClass::Loadanr10_rgn_dataType_anr10_rgn_dataType_chroma_filter_detection_thresholdsStruct_v_threshold_per_uv_tabStruct(
    ParameterFileSymbolTableEntry* entry,
    anr10_rgn_dataType::chroma_filter_detection_thresholdsStruct::v_threshold_per_uv_tabStruct* structure)
{
    BOOL result = TRUE;
    for (UINT32 i = 0; result && i < 8; i++)
    {
        result = result && entry->ReadFloat(&structure->v_threshold_per_uv[i]);
    }

    return result;
}

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/// Load anr10_rgn_dataType_dcblend2Struct
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
BOOL chromatix_anr10TypeClass::Loadanr10_rgn_dataType_dcblend2Struct(
    ParameterFileSymbolTableEntry* entry,
    anr10_rgn_dataType::dcblend2Struct* structure)
{
    BOOL result = TRUE;
    result = result && Loadanr10_rgn_dataType_anr10_rgn_dataType_dcblend2Struct_dcblend2_luma_strength_function_tabStruct(entry, &structure->dcblend2_luma_strength_function_tab);
    result = result && Loadanr10_rgn_dataType_anr10_rgn_dataType_dcblend2Struct_dcblend2_chroma_strength_function_tabStruct(entry, &structure->dcblend2_chroma_strength_function_tab);

    return result;
}

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/// Load anr10_rgn_dataType_anr10_rgn_dataType_dcblend2Struct_dcblend2_luma_strength_function_tabStruct
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
BOOL chromatix_anr10TypeClass::Loadanr10_rgn_dataType_anr10_rgn_dataType_dcblend2Struct_dcblend2_luma_strength_function_tabStruct(
    ParameterFileSymbolTableEntry* entry,
    anr10_rgn_dataType::dcblend2Struct::dcblend2_luma_strength_function_tabStruct* structure)
{
    BOOL result = TRUE;
    for (UINT32 i = 0; result && i < 5; i++)
    {
        result = result && entry->ReadFloat(&structure->dcblend2_luma_strength_function[i]);
    }

    return result;
}

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/// Load anr10_rgn_dataType_anr10_rgn_dataType_dcblend2Struct_dcblend2_chroma_strength_function_tabStruct
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
BOOL chromatix_anr10TypeClass::Loadanr10_rgn_dataType_anr10_rgn_dataType_dcblend2Struct_dcblend2_chroma_strength_function_tabStruct(
    ParameterFileSymbolTableEntry* entry,
    anr10_rgn_dataType::dcblend2Struct::dcblend2_chroma_strength_function_tabStruct* structure)
{
    BOOL result = TRUE;
    for (UINT32 i = 0; result && i < 6; i++)
    {
        result = result && entry->ReadFloat(&structure->dcblend2_chroma_strength_function[i]);
    }

    return result;
}

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/// Load mod_anr10_pass_dataType
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
BOOL chromatix_anr10TypeClass::Loadmod_anr10_pass_dataType(
    ParameterFileSymbolTableEntry* entry,
    mod_anr10_pass_dataType* structure)
{
    BOOL result = TRUE;
    structure->pass_trigger = (ispglobalelements::trigger_pass)entry->ReadEnum(&result);
    result = result && Loadanr10_rgn_dataType(entry, &structure->anr10_rgn_data);

    return result;
}

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/// Load mod_anr10_cct_dataType
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
BOOL chromatix_anr10TypeClass::Loadmod_anr10_cct_dataType(
    ParameterFileSymbolTableEntry* entry,
    mod_anr10_cct_dataType* structure)
{
    BOOL result = TRUE;
    result = result && ispglobalelements::ispglobalelementsClass::Loadtrigger_pt_type(entry, &structure->cct_trigger);
    result = result && Loadmod_anr10_cct_dataType_cct_dataStruct(entry, &structure->cct_data);

    return result;
}

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/// Load mod_anr10_cct_dataType_cct_dataStruct
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
BOOL chromatix_anr10TypeClass::Loadmod_anr10_cct_dataType_cct_dataStruct(
    ParameterFileSymbolTableEntry* entry,
    mod_anr10_cct_dataType::cct_dataStruct* structure)
{
    BOOL result = TRUE;
    for (UINT32 i = 0; result && i < 4; i++)
    {
        result = result && Loadmod_anr10_pass_dataType(entry, &structure->mod_anr10_pass_data[i]);
    }

    return result;
}

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/// Load mod_anr10_aec_dataType
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
BOOL chromatix_anr10TypeClass::Loadmod_anr10_aec_dataType(
    ParameterFileSymbolTableEntry* entry,
    mod_anr10_aec_dataType* structure)
{
    BOOL result = TRUE;
    result = result && globalelements::globalelementsClass::Loadtrigger_pt_type_aec(entry, &structure->aec_trigger);
    result = result && Loadmod_anr10_aec_dataType_aec_dataStruct(entry, &structure->aec_data);

    return result;
}

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/// Load mod_anr10_aec_dataType_aec_dataStruct
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
BOOL chromatix_anr10TypeClass::Loadmod_anr10_aec_dataType_aec_dataStruct(
    ParameterFileSymbolTableEntry* entry,
    mod_anr10_aec_dataType::aec_dataStruct* structure)
{
    BOOL result = TRUE;

    // Reading structure->mod_anr10_cct_data from the symbol table
    {
        result = result && entry->ReadUInt32(&structure->mod_anr10_cct_dataCount);
        structure->mod_anr10_cct_dataID = entry->ID;
        ParameterFileSymbolTableEntry* pointerEntry1 = entry->Table->ReadPointerEntry(entry);
        result = result && pointerEntry1 != NULL;
        if (result)
        {
            structure->mod_anr10_cct_data   = PARAMETER_NEW mod_anr10_cct_dataType[structure->mod_anr10_cct_dataCount];
        }
        if (!result || structure->mod_anr10_cct_data == NULL)
        {
            structure->mod_anr10_cct_dataCount = 0;
        }
        for (UINT32 i = 0; result && i < structure->mod_anr10_cct_dataCount; i++)
        {
            result = result && Loadmod_anr10_cct_dataType(pointerEntry1, &structure->mod_anr10_cct_data[i]);
        }
    }

    return result;
}

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/// Load mod_anr10_hdr_aec_dataType
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
BOOL chromatix_anr10TypeClass::Loadmod_anr10_hdr_aec_dataType(
    ParameterFileSymbolTableEntry* entry,
    mod_anr10_hdr_aec_dataType* structure)
{
    BOOL result = TRUE;
    result = result && ispglobalelements::ispglobalelementsClass::Loadtrigger_pt_type_aec_hdr(entry, &structure->hdr_aec_trigger);
    result = result && Loadmod_anr10_hdr_aec_dataType_hdr_aec_dataStruct(entry, &structure->hdr_aec_data);

    return result;
}

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/// Load mod_anr10_hdr_aec_dataType_hdr_aec_dataStruct
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
BOOL chromatix_anr10TypeClass::Loadmod_anr10_hdr_aec_dataType_hdr_aec_dataStruct(
    ParameterFileSymbolTableEntry* entry,
    mod_anr10_hdr_aec_dataType::hdr_aec_dataStruct* structure)
{
    BOOL result = TRUE;

    // Reading structure->mod_anr10_aec_data from the symbol table
    {
        result = result && entry->ReadUInt32(&structure->mod_anr10_aec_dataCount);
        structure->mod_anr10_aec_dataID = entry->ID;
        ParameterFileSymbolTableEntry* pointerEntry1 = entry->Table->ReadPointerEntry(entry);
        result = result && pointerEntry1 != NULL;
        if (result)
        {
            structure->mod_anr10_aec_data   = PARAMETER_NEW mod_anr10_aec_dataType[structure->mod_anr10_aec_dataCount];
        }
        if (!result || structure->mod_anr10_aec_data == NULL)
        {
            structure->mod_anr10_aec_dataCount = 0;
        }
        for (UINT32 i = 0; result && i < structure->mod_anr10_aec_dataCount; i++)
        {
            result = result && Loadmod_anr10_aec_dataType(pointerEntry1, &structure->mod_anr10_aec_data[i]);
        }
    }

    return result;
}

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/// Load mod_anr10_drc_gain_dataType
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
BOOL chromatix_anr10TypeClass::Loadmod_anr10_drc_gain_dataType(
    ParameterFileSymbolTableEntry* entry,
    mod_anr10_drc_gain_dataType* structure)
{
    BOOL result = TRUE;
    result = result && ispglobalelements::ispglobalelementsClass::Loadtrigger_pt_type(entry, &structure->drc_gain_trigger);
    result = result && Loadmod_anr10_drc_gain_dataType_drc_gain_dataStruct(entry, &structure->drc_gain_data);

    return result;
}

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/// Load mod_anr10_drc_gain_dataType_drc_gain_dataStruct
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
BOOL chromatix_anr10TypeClass::Loadmod_anr10_drc_gain_dataType_drc_gain_dataStruct(
    ParameterFileSymbolTableEntry* entry,
    mod_anr10_drc_gain_dataType::drc_gain_dataStruct* structure)
{
    BOOL result = TRUE;

    // Reading structure->mod_anr10_hdr_aec_data from the symbol table
    {
        result = result && entry->ReadUInt32(&structure->mod_anr10_hdr_aec_dataCount);
        structure->mod_anr10_hdr_aec_dataID = entry->ID;
        ParameterFileSymbolTableEntry* pointerEntry1 = entry->Table->ReadPointerEntry(entry);
        result = result && pointerEntry1 != NULL;
        if (result)
        {
            structure->mod_anr10_hdr_aec_data   = PARAMETER_NEW mod_anr10_hdr_aec_dataType[structure->mod_anr10_hdr_aec_dataCount];
        }
        if (!result || structure->mod_anr10_hdr_aec_data == NULL)
        {
            structure->mod_anr10_hdr_aec_dataCount = 0;
        }
        for (UINT32 i = 0; result && i < structure->mod_anr10_hdr_aec_dataCount; i++)
        {
            result = result && Loadmod_anr10_hdr_aec_dataType(pointerEntry1, &structure->mod_anr10_hdr_aec_data[i]);
        }
    }

    return result;
}

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/// Load mod_anr10_pre_scale_ratio_dataType
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
BOOL chromatix_anr10TypeClass::Loadmod_anr10_pre_scale_ratio_dataType(
    ParameterFileSymbolTableEntry* entry,
    mod_anr10_pre_scale_ratio_dataType* structure)
{
    BOOL result = TRUE;
    result = result && ispglobalelements::ispglobalelementsClass::Loadtrigger_pt_type(entry, &structure->pre_scale_ratio_trigger);
    result = result && Loadmod_anr10_pre_scale_ratio_dataType_pre_scale_ratio_dataStruct(entry, &structure->pre_scale_ratio_data);

    return result;
}

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/// Load mod_anr10_pre_scale_ratio_dataType_pre_scale_ratio_dataStruct
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
BOOL chromatix_anr10TypeClass::Loadmod_anr10_pre_scale_ratio_dataType_pre_scale_ratio_dataStruct(
    ParameterFileSymbolTableEntry* entry,
    mod_anr10_pre_scale_ratio_dataType::pre_scale_ratio_dataStruct* structure)
{
    BOOL result = TRUE;

    // Reading structure->mod_anr10_drc_gain_data from the symbol table
    {
        result = result && entry->ReadUInt32(&structure->mod_anr10_drc_gain_dataCount);
        structure->mod_anr10_drc_gain_dataID = entry->ID;
        ParameterFileSymbolTableEntry* pointerEntry1 = entry->Table->ReadPointerEntry(entry);
        result = result && pointerEntry1 != NULL;
        if (result)
        {
            structure->mod_anr10_drc_gain_data   = PARAMETER_NEW mod_anr10_drc_gain_dataType[structure->mod_anr10_drc_gain_dataCount];
        }
        if (!result || structure->mod_anr10_drc_gain_data == NULL)
        {
            structure->mod_anr10_drc_gain_dataCount = 0;
        }
        for (UINT32 i = 0; result && i < structure->mod_anr10_drc_gain_dataCount; i++)
        {
            result = result && Loadmod_anr10_drc_gain_dataType(pointerEntry1, &structure->mod_anr10_drc_gain_data[i]);
        }
    }

    return result;
}

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/// Load mod_anr10_post_scale_ratio_dataType
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
BOOL chromatix_anr10TypeClass::Loadmod_anr10_post_scale_ratio_dataType(
    ParameterFileSymbolTableEntry* entry,
    mod_anr10_post_scale_ratio_dataType* structure)
{
    BOOL result = TRUE;
    result = result && ispglobalelements::ispglobalelementsClass::Loadtrigger_pt_type(entry, &structure->post_scale_ratio_trigger);
    result = result && Loadmod_anr10_post_scale_ratio_dataType_post_scale_ratio_dataStruct(entry, &structure->post_scale_ratio_data);

    return result;
}

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/// Load mod_anr10_post_scale_ratio_dataType_post_scale_ratio_dataStruct
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
BOOL chromatix_anr10TypeClass::Loadmod_anr10_post_scale_ratio_dataType_post_scale_ratio_dataStruct(
    ParameterFileSymbolTableEntry* entry,
    mod_anr10_post_scale_ratio_dataType::post_scale_ratio_dataStruct* structure)
{
    BOOL result = TRUE;

    // Reading structure->mod_anr10_pre_scale_ratio_data from the symbol table
    {
        result = result && entry->ReadUInt32(&structure->mod_anr10_pre_scale_ratio_dataCount);
        structure->mod_anr10_pre_scale_ratio_dataID = entry->ID;
        ParameterFileSymbolTableEntry* pointerEntry1 = entry->Table->ReadPointerEntry(entry);
        result = result && pointerEntry1 != NULL;
        if (result)
        {
            structure->mod_anr10_pre_scale_ratio_data   = PARAMETER_NEW mod_anr10_pre_scale_ratio_dataType[structure->mod_anr10_pre_scale_ratio_dataCount];
        }
        if (!result || structure->mod_anr10_pre_scale_ratio_data == NULL)
        {
            structure->mod_anr10_pre_scale_ratio_dataCount = 0;
        }
        for (UINT32 i = 0; result && i < structure->mod_anr10_pre_scale_ratio_dataCount; i++)
        {
            result = result && Loadmod_anr10_pre_scale_ratio_dataType(pointerEntry1, &structure->mod_anr10_pre_scale_ratio_data[i]);
        }
    }

    return result;
}

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/// Load mod_anr10_lens_zoom_dataType
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
BOOL chromatix_anr10TypeClass::Loadmod_anr10_lens_zoom_dataType(
    ParameterFileSymbolTableEntry* entry,
    mod_anr10_lens_zoom_dataType* structure)
{
    BOOL result = TRUE;
    result = result && ispglobalelements::ispglobalelementsClass::Loadtrigger_pt_type(entry, &structure->lens_zoom_trigger);
    result = result && Loadmod_anr10_lens_zoom_dataType_lens_zoom_dataStruct(entry, &structure->lens_zoom_data);

    return result;
}

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/// Load mod_anr10_lens_zoom_dataType_lens_zoom_dataStruct
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
BOOL chromatix_anr10TypeClass::Loadmod_anr10_lens_zoom_dataType_lens_zoom_dataStruct(
    ParameterFileSymbolTableEntry* entry,
    mod_anr10_lens_zoom_dataType::lens_zoom_dataStruct* structure)
{
    BOOL result = TRUE;

    // Reading structure->mod_anr10_post_scale_ratio_data from the symbol table
    {
        result = result && entry->ReadUInt32(&structure->mod_anr10_post_scale_ratio_dataCount);
        structure->mod_anr10_post_scale_ratio_dataID = entry->ID;
        ParameterFileSymbolTableEntry* pointerEntry1 = entry->Table->ReadPointerEntry(entry);
        result = result && pointerEntry1 != NULL;
        if (result)
        {
            structure->mod_anr10_post_scale_ratio_data   = PARAMETER_NEW mod_anr10_post_scale_ratio_dataType[structure->mod_anr10_post_scale_ratio_dataCount];
        }
        if (!result || structure->mod_anr10_post_scale_ratio_data == NULL)
        {
            structure->mod_anr10_post_scale_ratio_dataCount = 0;
        }
        for (UINT32 i = 0; result && i < structure->mod_anr10_post_scale_ratio_dataCount; i++)
        {
            result = result && Loadmod_anr10_post_scale_ratio_dataType(pointerEntry1, &structure->mod_anr10_post_scale_ratio_data[i]);
        }
    }

    return result;
}

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/// Load mod_anr10_lens_posn_dataType
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
BOOL chromatix_anr10TypeClass::Loadmod_anr10_lens_posn_dataType(
    ParameterFileSymbolTableEntry* entry,
    mod_anr10_lens_posn_dataType* structure)
{
    BOOL result = TRUE;
    result = result && ispglobalelements::ispglobalelementsClass::Loadtrigger_pt_type(entry, &structure->lens_posn_trigger);
    result = result && Loadmod_anr10_lens_posn_dataType_lens_posn_dataStruct(entry, &structure->lens_posn_data);

    return result;
}

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/// Load mod_anr10_lens_posn_dataType_lens_posn_dataStruct
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
BOOL chromatix_anr10TypeClass::Loadmod_anr10_lens_posn_dataType_lens_posn_dataStruct(
    ParameterFileSymbolTableEntry* entry,
    mod_anr10_lens_posn_dataType::lens_posn_dataStruct* structure)
{
    BOOL result = TRUE;

    // Reading structure->mod_anr10_lens_zoom_data from the symbol table
    {
        result = result && entry->ReadUInt32(&structure->mod_anr10_lens_zoom_dataCount);
        structure->mod_anr10_lens_zoom_dataID = entry->ID;
        ParameterFileSymbolTableEntry* pointerEntry1 = entry->Table->ReadPointerEntry(entry);
        result = result && pointerEntry1 != NULL;
        if (result)
        {
            structure->mod_anr10_lens_zoom_data   = PARAMETER_NEW mod_anr10_lens_zoom_dataType[structure->mod_anr10_lens_zoom_dataCount];
        }
        if (!result || structure->mod_anr10_lens_zoom_data == NULL)
        {
            structure->mod_anr10_lens_zoom_dataCount = 0;
        }
        for (UINT32 i = 0; result && i < structure->mod_anr10_lens_zoom_dataCount; i++)
        {
            result = result && Loadmod_anr10_lens_zoom_dataType(pointerEntry1, &structure->mod_anr10_lens_zoom_data[i]);
        }
    }

    return result;
}

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/// Load chromatix_anr10_coreType
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
BOOL chromatix_anr10TypeClass::Loadchromatix_anr10_coreType(
    ParameterFileSymbolTableEntry* entry,
    chromatix_anr10_coreType* structure)
{
    BOOL result = TRUE;

    // Reading structure->mod_anr10_lens_posn_data from the symbol table
    {
        result = result && entry->ReadUInt32(&structure->mod_anr10_lens_posn_dataCount);
        structure->mod_anr10_lens_posn_dataID = entry->ID;
        ParameterFileSymbolTableEntry* pointerEntry1 = entry->Table->ReadPointerEntry(entry);
        result = result && pointerEntry1 != NULL;
        if (result)
        {
            structure->mod_anr10_lens_posn_data   = PARAMETER_NEW mod_anr10_lens_posn_dataType[structure->mod_anr10_lens_posn_dataCount];
        }
        if (!result || structure->mod_anr10_lens_posn_data == NULL)
        {
            structure->mod_anr10_lens_posn_dataCount = 0;
        }
        for (UINT32 i = 0; result && i < structure->mod_anr10_lens_posn_dataCount; i++)
        {
            result = result && Loadmod_anr10_lens_posn_dataType(pointerEntry1, &structure->mod_anr10_lens_posn_data[i]);
        }
    }

    return result;
}

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/// Load chromatix_anr10Type
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
BOOL chromatix_anr10TypeClass::Loadchromatix_anr10Type(
    ParameterFileSymbolTableEntry* entry,
    chromatix_anr10Type* structure)
{
    BOOL result = TRUE;
    result = result && Loadenable_sectionStruct(entry, &structure->enable_section);
    result = result && Loadmodule_versionStruct(entry, &structure->module_version);
    result = result && Loadcontrol_variablesStruct(entry, &structure->control_variables);
    result = result && Loadcontrol_methodStruct(entry, &structure->control_method);
    result = result && Loadchromatix_anr10_reserveType(entry, &structure->chromatix_anr10_reserve);
    result = result && Loadchromatix_anr10_coreType(entry, &structure->chromatix_anr10_core);

    return result;
}

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/// Load enable_sectionStruct
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
BOOL chromatix_anr10TypeClass::Loadenable_sectionStruct(
    ParameterFileSymbolTableEntry* entry,
    chromatix_anr10Type::enable_sectionStruct* structure)
{
    BOOL result = TRUE;
    result = result && entry->ReadInt32(&structure->enable_luma_noise_reduction);
    result = result && entry->ReadInt32(&structure->enable_chroma_noise_reduction);

    return result;
}

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/// Load module_versionStruct
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
BOOL chromatix_anr10TypeClass::Loadmodule_versionStruct(
    ParameterFileSymbolTableEntry* entry,
    chromatix_anr10Type::module_versionStruct* structure)
{
    BOOL result = TRUE;
    result = result && entry->ReadInt32(&structure->major_revision);
    result = result && entry->ReadInt32(&structure->minor_revision);
    result = result && entry->ReadInt32(&structure->incr_revision);

    return result;
}

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/// Load control_variablesStruct
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
BOOL chromatix_anr10TypeClass::Loadcontrol_variablesStruct(
    ParameterFileSymbolTableEntry* entry,
    chromatix_anr10Type::control_variablesStruct* structure)
{
    BOOL result = TRUE;
    for (UINT32 i = 0; result && i < 9; i++)
    {
        structure->control_var_type[i] = (chromatix_anr10Type::control_variablesStruct::control_var_typeEnum)entry->ReadEnum(&result);
    }

    return result;
}

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/// Load control_methodStruct
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
BOOL chromatix_anr10TypeClass::Loadcontrol_methodStruct(
    ParameterFileSymbolTableEntry* entry,
    chromatix_anr10Type::control_methodStruct* structure)
{
    BOOL result = TRUE;
    structure->aec_exp_control = (ispglobalelements::tuning_control_aec_type)entry->ReadEnum(&result);
    structure->aec_hdr_control = (ispglobalelements::tuning_control_aec_hdr_type)entry->ReadEnum(&result);

    return result;
}

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/// Unload mod_anr10_aec_dataType
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
void chromatix_anr10TypeClass::Unloadmod_anr10_aec_dataType(
    mod_anr10_aec_dataType* structure)
{
    Unloadmod_anr10_aec_dataType_aec_dataStruct(&structure->aec_data);
}

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/// Unload mod_anr10_aec_dataType_aec_dataStruct
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
void chromatix_anr10TypeClass::Unloadmod_anr10_aec_dataType_aec_dataStruct(
    mod_anr10_aec_dataType::aec_dataStruct* structure)
{
    PARAMETER_DELETE[] structure->mod_anr10_cct_data;
}

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/// Unload mod_anr10_hdr_aec_dataType
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
void chromatix_anr10TypeClass::Unloadmod_anr10_hdr_aec_dataType(
    mod_anr10_hdr_aec_dataType* structure)
{
    Unloadmod_anr10_hdr_aec_dataType_hdr_aec_dataStruct(&structure->hdr_aec_data);
}

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/// Unload mod_anr10_hdr_aec_dataType_hdr_aec_dataStruct
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
void chromatix_anr10TypeClass::Unloadmod_anr10_hdr_aec_dataType_hdr_aec_dataStruct(
    mod_anr10_hdr_aec_dataType::hdr_aec_dataStruct* structure)
{
    for (UINT32 i = 0; i < structure->mod_anr10_aec_dataCount; i++)
    {
        Unloadmod_anr10_aec_dataType(&structure->mod_anr10_aec_data[i]);
    }
    PARAMETER_DELETE[] structure->mod_anr10_aec_data;
}

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/// Unload mod_anr10_drc_gain_dataType
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
void chromatix_anr10TypeClass::Unloadmod_anr10_drc_gain_dataType(
    mod_anr10_drc_gain_dataType* structure)
{
    Unloadmod_anr10_drc_gain_dataType_drc_gain_dataStruct(&structure->drc_gain_data);
}

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/// Unload mod_anr10_drc_gain_dataType_drc_gain_dataStruct
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
void chromatix_anr10TypeClass::Unloadmod_anr10_drc_gain_dataType_drc_gain_dataStruct(
    mod_anr10_drc_gain_dataType::drc_gain_dataStruct* structure)
{
    for (UINT32 i = 0; i < structure->mod_anr10_hdr_aec_dataCount; i++)
    {
        Unloadmod_anr10_hdr_aec_dataType(&structure->mod_anr10_hdr_aec_data[i]);
    }
    PARAMETER_DELETE[] structure->mod_anr10_hdr_aec_data;
}

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/// Unload mod_anr10_pre_scale_ratio_dataType
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
void chromatix_anr10TypeClass::Unloadmod_anr10_pre_scale_ratio_dataType(
    mod_anr10_pre_scale_ratio_dataType* structure)
{
    Unloadmod_anr10_pre_scale_ratio_dataType_pre_scale_ratio_dataStruct(&structure->pre_scale_ratio_data);
}

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/// Unload mod_anr10_pre_scale_ratio_dataType_pre_scale_ratio_dataStruct
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
void chromatix_anr10TypeClass::Unloadmod_anr10_pre_scale_ratio_dataType_pre_scale_ratio_dataStruct(
    mod_anr10_pre_scale_ratio_dataType::pre_scale_ratio_dataStruct* structure)
{
    for (UINT32 i = 0; i < structure->mod_anr10_drc_gain_dataCount; i++)
    {
        Unloadmod_anr10_drc_gain_dataType(&structure->mod_anr10_drc_gain_data[i]);
    }
    PARAMETER_DELETE[] structure->mod_anr10_drc_gain_data;
}

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/// Unload mod_anr10_post_scale_ratio_dataType
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
void chromatix_anr10TypeClass::Unloadmod_anr10_post_scale_ratio_dataType(
    mod_anr10_post_scale_ratio_dataType* structure)
{
    Unloadmod_anr10_post_scale_ratio_dataType_post_scale_ratio_dataStruct(&structure->post_scale_ratio_data);
}

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/// Unload mod_anr10_post_scale_ratio_dataType_post_scale_ratio_dataStruct
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
void chromatix_anr10TypeClass::Unloadmod_anr10_post_scale_ratio_dataType_post_scale_ratio_dataStruct(
    mod_anr10_post_scale_ratio_dataType::post_scale_ratio_dataStruct* structure)
{
    for (UINT32 i = 0; i < structure->mod_anr10_pre_scale_ratio_dataCount; i++)
    {
        Unloadmod_anr10_pre_scale_ratio_dataType(&structure->mod_anr10_pre_scale_ratio_data[i]);
    }
    PARAMETER_DELETE[] structure->mod_anr10_pre_scale_ratio_data;
}

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/// Unload mod_anr10_lens_zoom_dataType
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
void chromatix_anr10TypeClass::Unloadmod_anr10_lens_zoom_dataType(
    mod_anr10_lens_zoom_dataType* structure)
{
    Unloadmod_anr10_lens_zoom_dataType_lens_zoom_dataStruct(&structure->lens_zoom_data);
}

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/// Unload mod_anr10_lens_zoom_dataType_lens_zoom_dataStruct
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
void chromatix_anr10TypeClass::Unloadmod_anr10_lens_zoom_dataType_lens_zoom_dataStruct(
    mod_anr10_lens_zoom_dataType::lens_zoom_dataStruct* structure)
{
    for (UINT32 i = 0; i < structure->mod_anr10_post_scale_ratio_dataCount; i++)
    {
        Unloadmod_anr10_post_scale_ratio_dataType(&structure->mod_anr10_post_scale_ratio_data[i]);
    }
    PARAMETER_DELETE[] structure->mod_anr10_post_scale_ratio_data;
}

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/// Unload mod_anr10_lens_posn_dataType
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
void chromatix_anr10TypeClass::Unloadmod_anr10_lens_posn_dataType(
    mod_anr10_lens_posn_dataType* structure)
{
    Unloadmod_anr10_lens_posn_dataType_lens_posn_dataStruct(&structure->lens_posn_data);
}

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/// Unload mod_anr10_lens_posn_dataType_lens_posn_dataStruct
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
void chromatix_anr10TypeClass::Unloadmod_anr10_lens_posn_dataType_lens_posn_dataStruct(
    mod_anr10_lens_posn_dataType::lens_posn_dataStruct* structure)
{
    for (UINT32 i = 0; i < structure->mod_anr10_lens_zoom_dataCount; i++)
    {
        Unloadmod_anr10_lens_zoom_dataType(&structure->mod_anr10_lens_zoom_data[i]);
    }
    PARAMETER_DELETE[] structure->mod_anr10_lens_zoom_data;
}

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/// Unload chromatix_anr10_coreType
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
void chromatix_anr10TypeClass::Unloadchromatix_anr10_coreType(
    chromatix_anr10_coreType* structure)
{
    for (UINT32 i = 0; i < structure->mod_anr10_lens_posn_dataCount; i++)
    {
        Unloadmod_anr10_lens_posn_dataType(&structure->mod_anr10_lens_posn_data[i]);
    }
    PARAMETER_DELETE[] structure->mod_anr10_lens_posn_data;
}

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/// Unload chromatix_anr10Type
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
void chromatix_anr10TypeClass::Unloadchromatix_anr10Type(
    chromatix_anr10Type* structure)
{
    Unloadchromatix_anr10_coreType(&structure->chromatix_anr10_core);
}

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/// Parse symbol table entry, and return a new object
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
ParameterModule* chromatix_anr10TypeClass::Parse(
    ParameterSetManager* manager,
    ParameterFileSymbolTableEntry* entry) const
{
    chromatix_anr10TypeClass* cls = NULL;

    if (PARAMETER_STRCMP(Type, entry->Type) == 0 && Major == entry->Major &&
        Minor == entry->Minor && Patch == entry->Patch)
    {
        cls = PARAMETER_NEW chromatix_anr10TypeClass(GetName(entry->Type), 
            entry->ModeId, entry->Mode, entry->SubMode, entry->Group);
        if (cls != NULL)
        {
            BOOL result = TRUE;

            cls->SymbolTableID = entry->ID;
            cls->ID            = entry->ID;

            result = result && Loadchromatix_anr10Type(entry, cls);

            if (!result)
            {
                PARAMETER_DELETE cls;
                cls = NULL;
            }
        }
    }
    return (ParameterModule*)cls;
}


ANR_1_0_0_NAMESPACE_END
